约束: 1.指向具有边距(ImHeight,ImWidth)的图像的指针 2.过滤器尺寸(FH,FW); FH,FW很奇怪 3. ActualImageHeight = ImHeight-2 *(FH / 2); ActualImageWidth = ImWidth-2 *(FW / 2);
如何:
答案 0 :(得分:2)
修改图像的最小坐标。如果你使用JIT或AOT,你没有说明,但这是一个JIT实现。
if (cosName.getName().startsWith("QuickPDFIm")) {
imageCount++;
}
对于AOT:
Halide::Image input( ImWidth + 2 * FW, ImHeight + 2 * FH ), output;
input.set_min( -FW, -FH );
Func f;
f(x,y) = ( input( x - FW, y - FH ) + input( x + FW - 1, y + FH - 1 ) ) / 2;
output = f.realize( ImWidth, ImHeight );
用于ImageParam
。input
Param<int>
和ImWidth
将它们作为AOT功能的参数。ImHeight
int
和ImWidth
将其烘焙到AOT功能中。ImHeight
和set_bounds
的所有维度使用set_stride
和input
。如果f.output_buffer()
是Expr
,这些会ImWidth + 2 * FW
,因此会接受ImWidth
。