天天看點

matlab hsi圖像分割,我在做HSI的彩色圖像分割,在結果顯示上出了問題

該樓層疑似違規已被系統折疊 隐藏此樓檢視此樓

我在做彩色圖像分割,但是隻是在HSI模型的I分量上做的,結果顯示的時候顯示的是hsi彩色圖像,但是我想着能不能用黑白色顯示我的分割圖檔,有沒有人能有什麼辦法呢

而且我試着隻顯示I分量的結果,但是出來的是全黑的圖像了就!是以我想問問有沒有什麼辦法

謝謝!

下面的是我的程式

clear all

a1=imread('3.jpg');

hsi=rgb2hsi(a1);

I=hsi(:,:,3);

count=imhist(I);

[m,n]=size(I);

N=m*n;

L=256;

count=count/N;%%每一個像素的分布機率

for i=1:L

if count(i)~=0

st=i-1;

break;

end

end

for i=L:-1:1

if count(i)~=0

nd=i-1;

break;

end

end

f=count(st+1:nd+1); %f是每個灰階出現的機率

size(f)

E=[];

for Th=st:nd-1 %設定初始分割門檻值為Th

av1=0;

av2=0;

Pth=sum(count(1:Th+1));

%%%第一類的平均相對熵為

for i=0:Th

av1=av1-count(i+1)/Pth*log(count(i+1)/Pth+0.00001);

end

%%%第二類的平均相對熵為

for i=Th+1:L-1

av2=av2-count(i+1)/(1-Pth)*log(count(i+1)/(1-Pth)+0.00001);

end

E(Th-st+1)=av1+av2;

end

position=find(E==(max(E)));

th=st+position-1;

for i=1:m

for j=1:n

if I(i,j)>th

I(i,j)=255;

else

I(i,j)=0;

end

end

end

figure,

imshow(I);

新手入門,跪求指導!