rgbtranhsi2.m

来自「均值滤波,加权滤波,中值滤波的MATLAB实例,用于图象及信号的处理」· M 代码 · 共 32 行

M
32
字号
rgb=imread('Fig6.48(d).jpg');
[r c d]=size(rgb);
rgb1=im2double(rgb);
r1=rgb(:,:,1);
g1=rgb(:,:,2);
b1=rgb(:,:,3);
red=rgb1(:,:,1);
green=rgb1(:,:,2);
blue=rgb1(:,:,3);

for i=1:r
    for j=1:c
        a=[red(i,j),green(i,j),blue(i,j)];
        min1=min(a);
        max1=max(a);
        S(i,j)=max1-min1;
        I(i,j)=(red(i,j)+green(i,j)+blue(i,j))/3;
        if(blue(i,j)>green(i,j))
            H(i,j)=2*pi-acos(((red(i,j)-green(i,j))+(red(i,j)-blue(i,j)))/((2*sqrt((red(i,j)-green(i,j))^2+(red(i,j)-blue(i,j))*(green(i,j)-blue(i,j))))+eps));
        else
            H(i,j)=acos(((red(i,j)-green(i,j))+(red(i,j)-blue(i,j)))/((2*sqrt((red(i,j)-green(i,j))^2+(red(i,j)-blue(i,j))*(green(i,j)-blue(i,j))))+eps));
            
        end
        if(S(i,j)==0)
            H(i,j)=0;
        end
    end
end
H=H/(2*pi);
figure(1);
imshow(H);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?