我们有M行和N列的测试图像 f(x,y),对于x∈[1,M]和y∈[1,N]。水平绝对 像素的差值由...定义 D(x,y)= | f(x,y +1) - f(x,y -1)|。 如何在matlab中实现它需要帮助
答案 0 :(得分: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)
答案 1 :(得分:0)
D = abs( f(1:end-1,:) - f(2:end,:) );
也可以查看diff
命令。请注意,D
的行数少于f
。
答案 2 :(得分: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