0
是否可以從生成器類中的數組初始化Func?代碼應該看起來像這樣。從數組初始化Func
class SobelConv: public Halide::Generator<SobelConv> {
const signed char kernelx[3][3] = {
{-1, 0, 1},
{-2, 0, 2},
{-1, 0, 1}
};
void generate() {
for (int y = 0; y < 3; y++)
for (int x = 0; x < 3; x++)
kernel_x(x, y) = kernelx[y][x];
conv_x(x, y) += gray(x+win.x, y+win.y) * kernel_x(win.x + 1, win.y + 1);
}
Func kernel_x{"kernel_x"};
目前,我的做法是定義Input<Buffer<int8_t>> kernel_x
。我不希望它成爲管道函數的參數,並且希望將kernel_x直接替換爲相應的數字。
如果你有一個靜態數組,'Halide :: Runtime :: Buffer'可以用數組'kernel_x {weights}'初始化。維度和範圍被檢測到。 –