尝试加载灰度图像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)