尝试加载灰度图像png格式以执行此代码时出现错误。我的程序是Halide Tutorial类(class)2的一部分。这是我的代码:

    #include <stdio.h>
    #include "Halide.h"
    #include "halide_image_io.h"
    using namespace Halide;
    using namespace Halide::Tools;

    int main(int argc, char **argv) {
        Halide::Image<uint8_t> input = load_image(argv[1]);
        Halide::Func brighter;
        Halide::Var x, y, c;
        Halide::Expr value = input(x, y, c);
        value = Halide::cast<float>(value);
        value = value * 1.5f;
        value = Halide::min(value, 255.0f);
        value = Halide::cast<uint8_t>(value);
        brighter(x, y, c) = value;
        Halide::Image<uint8_t> output = brighter.realize(input.width(), input.height(), input.channels());
        save_image(output, "brighter.png");
        printf("Success!\n");
        return 0;
    }
这是错误消息:

最佳答案

Halide将灰度图像视为二维数组,因此您可以像这样访问它们:

input(x, y)

不像这样:
input(x, y, c)

10-08 13:40