2016-07-23 2 views
0

x에 대한 그래디언트를 찾는 sobel 필터는 1/8 * [-1 0 1; -2 0 2; -1 0 1]이라는 것을 알고 있습니다.matlab normxcorr2를 사용한 엣지 검출

그래서 imgradientxy를 사용하여 x 및 y의 그래디언트를 얻지 만 normmcorr2를 사용하여 sobel 필터를 직접 사용하여 필터를 이미지와 연관 시키려고했습니다. 그러나 결과는 아래와 같이 완전히 다릅니다.

참고 : I는 제 [-1,1]를 범위로 원본 이미지를 정규화하는 대신 [0255]

I는 이미지 커널 normxcorr2 상관 것을 이해 및 I는 다음과 같이 X의 소벨 필터를 사용하면 위에서 지적한 것과 같이 imgradientxy를 사용할 때와 비슷한 결과를 주어야합니다.

내 이해가 잘못 되었나요?

Image 2: Gradient on x using imgradientxy

+0

시도를 사용 imgradientxy 구현하려면 [0, 1]. – Rotem

답변

1

imgradientxy (I)를 이용하여 X 및 Y 방향의 기울기를 계산한다 imgradientxy를 이용하여 X의

Image 1: Sobel filter correlated with the image using normxcorr2

구배 : normxcorr2를 이용한 화상과 관련된

소벨 필터 커널이 실행되는 각 위치를 정규화하지 않고 Sobel 필터와의 회선.

normxcorr2 (I, template) 템플릿과 템플릿 아래의 영역을 정규화하고 상관 관계만을 계산합니다.

그래서 당신은 당신의 자기 이미지 범위를 정상화하려면 다음 코드를

sobelX = [-1 0 1;-2 0 2;-1 0 1]; 
gradX = conv2(double(I),sobelX,'same');