?? p0703.m
字號:
I=imread('cancer.bmp');
[y,x,z]=size(I);
myI=double(I); % 圖象的數(shù)據(jù)類型為無符號整型,必須轉(zhuǎn)換為雙精度實(shí)型才能計(jì)算
%%%%%%%%%%% RGB to HSI %%%%%%%%
H=zeros(y,x);
S=H;
HS_I=H;
for i=1:x
for j=1:y
HS_I(j,i)=((myI(j,i,1)+myI(j,i,2)+myI(j,i,3))/3);
S(j,i)=1-3*min(myI(j,i,:))/(myI(j,i,1)+myI(j,i,2)+myI(j,i,3));
if ((myI(j,i,1)==myI(j,i,2))&(myI(j,i,2)==myI(j,i,3))) % 三者相等,H計(jì)算式中分母為零,無法計(jì)算
Hdegree=0;
else
Hdegree=acos(0.5*(2*myI(j,i,1)-myI(j,i,2)-myI(j,i,3))/((myI(j,i,1)-myI(j,i,2))^2+(myI(j,i,1)-myI(j,i,3))*(myI(j,i,2)-myI(j,i,3)))^0.5);
end
if (myI(j,i,2)>=myI(j,i,3))
H(j,i)=Hdegree; % G≥B, H 在[0,π]范圍內(nèi)
else
H(j,i)=(2*pi-Hdegree); % G < B, H 在(π,2π]范圍內(nèi)
end
end
end
%=====色度識(shí)別====% % 色度識(shí)別需要依靠專家知識(shí),此處僅舉一例說明
Hth1=0.9*2*pi; Hth2=0.1*2*pi; % 檢測紅色,紅色的色度值在0或2π附近
Nred=0; % 記錄紅色或接近紅色的像素點(diǎn)個(gè)數(shù)
for i=1:x
for j=1:y
if ((H(j,i)>=Hth1)||(H(j,i)<=Hth2))
Nred=Nred+1;
end
end
end
Ratio=Nred/(x*y); % 紅色像素點(diǎn)所占比例
if (Ratio>=0.6) % 判別是否為紅色
Red=1
else
Red=0
end
HS_I=uint8(HS_I); % 實(shí)型轉(zhuǎn)換為整型才能作為圖象顯示
figure(1);
imshow(I);
figure(2);
imshow(HS_I);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -