1

我想在卤化物中提取一个通道,

Halide::Image<uint8_t> input = load_image("images/rgb.png");
Halide::Var x, y;
Halide::Func green;
green(x,y)= {0, input(x, y, 1), 0};

Halide::Image<uint8_t> output =
        green.realize(input.width(), input.height());

只能将单元素实现转换为缓冲区或图像

一定很简单

4

2 回答 2

2

听起来您想要一个三通道输出,其中两个全为零,一个是输入图像相应通道的内容。为此,请尝试:

   green(x, y, c) = select(c == 1, input(x, y, 1), 0);

如果这是展开和有界的,则执行中将没有条件评估。

于 2015-12-26T20:14:23.557 回答
0

我想你想要:

green(x, y) = input(x, y, 1);

您拥有的东西创建了三个输出图像的元组,其中两个为零。

于 2015-12-24T23:58:09.223 回答