我使用下面的代码来使用索贝尔掩模来掩盖图像。在MATLAB中使用索贝尔掩模运算符找到梯度
for i=1:size(C,1)-2
for j=1:size(C,2)-2
%Sobel mask for x-direction:
Gx=((2*C(i+2,j+1)+C(i+2,j)+C(i+2,j+2))-(2*C(i,j+1)+C(i,j)+C(i,j+2)));
%Sobel mask for y-direction:
Gy=((2*C(i+1,j+2)+C(i,j+2)+C(i+2,j+2))-(2*C(i+1,j)+C(i,j)+C(i+2,j)));
%The gradient of the image
%B(i,j)=abs(Gx)+abs(Gy);
B(i,j)=sqrt(Gx.^2+Gy.^2);
direction = atan(Gy./Gx)
end
end
我的问题是,有时梯度方向值是作为“NaN”给出,如何避免它?
二,如何将梯度方向量化为八个区域并找到图像的特征向量?请有人帮助我。
你为什么不使用BW =边缘(I, '索贝尔')?它非常简单。其次,你想实现HOG算法吗? –
使用索贝尔技术,我会得到方向。使用这个我最后想要的特征向量,然后我怎么能得到 –