В изображении есть несколько конкретных пикселей, вокруг которых я хочу найти минимальный локальный градиент. Я могу сделать это достаточно легко для всех пикселей изображения:Как выполнять операции над окрестностями конкретных пикселей в Halide?
Func grad, gradmin;
grad(x, y) = pow(input(x+1, y) - input(x-1, y), 2) + pow(input(x, y+1) - input(x, y-1), 2);
RDom r(-1, 3, -1, 3);
gradmin(x, y) = minimum(grad(x + r.x, y + r.y));
Но как это сделать для набора определенных пикселей в картинке? Если они с рисунком, можно сделать что-то вроде этого ?:
RDom r(-1, 3, -1, 3);
gradmin(x, y, i) = minimum(grad(x*f(i) + r.x, y*f(i) + r.y));
предполагая (х, у) бегите от (0 .. n, 0 .. m)
. Эффект, который я собираюсь, такой же, как приращение счетчика циклов на шаг больше 1.
Также есть способ записать, какие координаты x, y минимальной точки градиента были?