彩色空间梯度算子
% 算法参考A robust algorithm for text detection in color images
% 输入为RGB图像IMG
% 输出MAG为梯度强度,DIR为梯度方向
[M N] = size(IMG);
MAG = zeros(M,N); DIR = zeros(M,N);
ker1 = [-1 -2 -1;0 0 0;1 2 1]; % y direction
ker2 = ker1'; % x direction
% 分别计算三通道x,y方向微分
magXR = filter2(ker2,IMG(:,:,1));
magXG = filter2(ker2,IMG(:,:,2));
magXB = filter2(ker2,IMG(:,:,3));
magYR = filter2(ker1,IMG(:,:,1));
magYG = filter2(ker1,IMG(:,:,2));
magYB = filter2(ker1,IMG(:,:,3));
Mxx = magXR.*magXR+magXG.*magXG+magXB.*magXB;
Mxy = magXR.*magYR+magXG.*magYG+magXB.*magYB;
Myy = magYR.*magYR+magYG.*magYG+magYB.*magYB;
for m=1:M
for n=1:N
Mc = [Mxx(m,n) Mxy(m,n);Mxy(m,n) Myy(m,n)];
% 矩阵Mc的最大特征值为梯度强度,特征向量指示梯度方向
[V,D] = eig(Mc);
dx = V(1,2); dy = V(2,2);
MAG(m,n) = sqrt(D(2,2)/3);
DIR(m,n) = atan2(dy,dx);
end;
end;
% 在Rafael C. Gonzalez, digital image processing,second edition 6.7.3 彩色边缘检测中也有类似叙述
- 1
- 2
- 3
- 4
前往页