-3

x 행렬과 N 열이 f (x, y) 인 테스트 이미지가 x∈ [1, M] 및 y∈ [1, N] 인 경우 테스트 이미지가 있습니다. 수평 절대 값 픽셀의 차이 값은 D (x, y) = | f (x, y +1) - f (x, y -1) |로 정의됩니다. 뿐만 아니라 MATLAB에서 diff 명령을compute 픽셀의 수평 절대 값 차이 값

답변

0
D = abs(f(1:end-1,:) - f(2:end,:)); 

검사를 그것을 구현하는 방법의 도움이 필요합니다. D에는 1 행이 f보다 작습니다.

1

이 당신이 필요로하는 것을, 같은 크기의 행렬을 생성합니다 : 예를 들어

mat1 = [zeros(2,size(f,2)); f];% adds 2 rows of zeros to begining 
mat2 = [f;zeros(2,size(f,2))]; %adds 2 row of zeros to the end 
Dd = mat1-mat2; 
D = Dd(2:((size(Dd,1)-1)),:);%crop Dd matrix to size(f) 
0
aux = abs(diff(f,[],2)); 
D = max(aux(:,1:end-1), aux(:,2:end)); 

:

f = [3 5 6 4 
    2 5 4 3 
    8 9 3 1]; 

주어진 결과가

>> D 
D = 
    2  2 
    3  1 
    6  6