如何load_image()在卤化物与4通道而不是3?



我想获得一个4通道图像而不是3,而在Halide加载它,然而load_image()只给出3通道图像。我怎么解它?

Halide的load_image函数只是从磁盘上加载一个映像文件。如果是RGB,它会有三个通道,如果是RGBA,它会有四个通道。

如果你想在管道过程中为你的图像添加一个通道,那么你可以这样写:

Buffer<uint8_t> input = load_image(...);
Func alpha_255;
alpha_255(x, y, c) = select(c == 3, 255, input(x, y, c));

然后你可以安排你想要的函数。最有可能的是,您最终会将其内联到一个消费者中,该消费者的最内层通道维度展开,以摆脱select

最新更新