我想在Halide提取一个频道,
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());给出
只能将单元素实现转换为缓冲区或图像。
一定很简单
发布于 2015-12-26 20:14:23
听起来,您需要一个三个通道的输出,其中两个都是零,一个是输入图像的对应通道的内容。要做到这一点,请尝试:
green(x, y, c) = select(c == 1, input(x, y, 1), 0);如果这是展开和有界的,在执行中将没有条件计算。
发布于 2015-12-24 23:58:09
我想你想:
green(x, y) = input(x, y, 1);您拥有的东西创建了一个由三个输出图像组成的元组,其中两个为零。
https://stackoverflow.com/questions/34457819
复制相似问题