2015-01-27 3 views
1

이미지에 특정 지역의 최소 경사도를 찾으려는 많은 특정 픽셀이 있습니다.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)); 

을하지만 어떻게 하나는 이미지 내의 특정 픽셀의 집합이 일을합니까 : 나는 이미지의 모든 픽셀이 충분히 쉽게 할 수 있습니까? 그들은 패턴 경우이 (0 .. n, 0 .. m)에서 실행 (X, Y)를 가정

RDom r(-1, 3, -1, 3); 
gradmin(x, y, i) = minimum(grad(x*f(i) + r.x, y*f(i) + r.y)); 

을? :처럼, 뭔가를 할 수 있습니다. 내가하는 효과는 루프 카운터를 1보다 큰 단계로 증가시키는 것과 같습니다.

또한 최소 그래디언트 점의 x, y 좌표가 무엇인지 기록하는 방법이 있습니까?

답변

0

좌표에 액세스하는 표현식을 정의하는 것을 멈추게하는 방법은 없습니다. 내 이해에 grad(x*f(i))가 작동합니다. 너 해봤 어?

두 번째 질문에 대해서는 간단히 Halide argmin 기능을 사용할 수 있습니다.

관련 문제