定义一个带有缓冲区的函数作为卤化物中的边界框参数
Define a function with buffer as bounding box parameter in halide
我正在尝试定义一个函数来使用卤化物生成掩码图像。 有一个缓冲区
Buffer<int> bounding_box;
bounding_box(0, 0) = min_x0;
bounding_box(0, 1) = max_x0;
bounding_box(0, 2) = min_y0;
bounding_box(0, 3) = max_y0;
bounding_box(1, 0) = max_x1;
....
我定义Func Mask(x, y)
在任何地方都等于 0,但如果位于 bounding_box 中给出的任何框中,则等于 255,bounding_box是动态大小。
尝试使用DRom
但无法成功,因为 DRom 参数不能是可变的。
自己想通了。 这可以通过创建一个函数来定义每个边界框,并合并到一个最终函数中来解决。
Func mask_stack(x, y, c) = select(x >= bounding_box(c, 0) &&
x <= bounding_box(c, 1) &&
y >= bounding_box(c, 2) &&
y <= bounding_box(c, 3), 255, 0)
RDom r(0, bounding_box.width());
Func mask(x, y) = 0;
mask(x, y) = Halide::max(mask(x, y), mask_stack(x, y, r));
Halide::Buffer<int> input_buf = mask.realize(image_width, image_height);
相关文章:
- 彩色图像的卤化物处理平均值
- 具有 GPU 时间表的卤化物产生黑色图像
- 卤化物:X86汇编代码生成
- 更快地将卤化物图像转换为 opencv 垫?
- 卤化物::GPU 上的缓冲区
- 有没有办法将两个输入图像堆叠到卤化物发生器中的单个 4 维缓冲区中?
- 定义一个带有缓冲区的函数作为卤化物中的边界框参数
- 卤化物:较大图像的去马赛克算法错误.似乎适用于 16x16 图像
- 如何使以下卤化物代码更加高效
- 如何让卤化物使用滑动窗口优化?
- 卤化物最佳计划
- 之一卤化物中的Cholesky分解
- 卤化物:将C 功能传递到卤化物弹性中
- 卤化物中的可变域还原
- 卤化物检查是否可以分开
- 如何使用卤化物轮廓仪
- 卤化物表达式:_pFirstBlock == pHead 在简单程序上崩溃
- 将卤化物与表示为浮点数组的 HDR 图像一起使用
- 更改卤化物输出缓冲器布局
- 卤化物 - 而回路等效