Computer Vision_Matlab (5)

I = imread('boat.png');
I2 = im2double (I);
figure
imagesc (I2), colorbar;

 

1 Intensity Histograms

figure
Igray=rgb2gray(I2);
subplot(2,2,1); hist(Igray(:),64); title('Intensity')

Ired=I2(:,:,1);
subplot(2,2,2); hist(Ired(:),64); title('Red')

Igreen=I2(:,:,2);

subplot(2,2,3); hist(Igreen(:),64); title('Green')

Iblue=I2(:,:,3);
subplot(2,2,4); hist(Iblue(:),64); title('Blue')

2 Morphological Operations

figure, colormap('default')
Iseg=zeros(size(Igray));
Iseg(Igray<0.68)=1;
Iseg(Igray<0.47)=2;
Iseg(Igray<0.37)=3;
imagesc(Iseg); colorbar;

 

figure, colormap('default')
IsegD=imdilate(Iseg,strel('disk',3,0));
IsegE=imerode(Iseg,strel('disk',3,0));
IsegO=imopen(Iseg,strel('disk',3,0));
IsegC=imclose(Iseg,strel('disk',3,0));
subplot(2,2,1); imagesc(IsegD); title('Dilated')
subplot(2,2,2); imagesc(IsegE); title('Eroded')
subplot(2,2,3); imagesc(IsegO); title('Opened')
subplot(2,2,4); imagesc(IsegC); title('Closed')

 

3 k-means Clustering

figure, colormap('default')
Iseg=imsegkmeans(im2single(I2),5);
imagesc(Iseg); colorbar; title('k-means Clustering on RGB')

 

figure, colormap('default')
[a,b,c]=size(I2);
[X,Y] = meshgrid(1:b,1:a);
featureSet = cat(3,I2,X,Y);
Iseg=imsegkmeans(im2single(featureSet),5);
imagesc(Iseg); colorbar; title('k-means Clustering on RGB+XY')

 

4 Hierarchical Agglomerative Clustering

Ismall=imresize(I2,0.25,'bilinear');
[a,b,c]=size(Ismall);
Msmall=reshape(Ismall,[a*b,c]);

Mseg=clusterdata(Msmall,'cutoff',0.3,'criterion','distance','linkage','average','distance','euclidean');
Iseg=reshape(Mseg,[a,b]);
figure, colormap('default')
imagesc(Iseg); colorbar; title('Hierarchical Agglomerative Clustering on RGB')

 

figure; colormap('default')
Msmall=Msmall-min(Msmall);
Msmall=Msmall./max(Msmall);
Mseg=clusterdata(Msmall,'cutoff',0.3,'criterion','distance','linkage','average','distance','euclidean');
Iseg=reshape(Mseg,[a,b]);
imagesc(Iseg); colorbar; title('Hierarchical Agglomerative Clustering on scaled RGB')

Code

I = imread('boat.png');
I2 = im2double (I);
figure
imagesc (I2), colorbar;


%% Intensity Histograms

figure
Igray=rgb2gray(I2);
subplot(2,2,1); hist(Igray(:),64); title('Intensity')

Ired=I2(:,:,1);
subplot(2,2,2); hist(Ired(:),64); title('Red')

Igreen=I2(:,:,2);

subplot(2,2,3); hist(Igreen(:),64); title('Green')

Iblue=I2(:,:,3);
subplot(2,2,4); hist(Iblue(:),64); title('Blue')


%% Morphological Operations

figure, colormap('default')
Iseg=zeros(size(Igray));
Iseg(Igray<0.68)=1;
Iseg(Igray<0.47)=2;
Iseg(Igray<0.37)=3;
imagesc(Iseg); colorbar;
Iseg (92, 91)
Iseg (286, 279)
Iseg (292, 299)
Iseg (451, 352)

figure, colormap('default')
IsegD=imdilate(Iseg,strel('disk',3,0));
IsegE=imerode(Iseg,strel('disk',3,0));
IsegO=imopen(Iseg,strel('disk',3,0));
IsegC=imclose(Iseg,strel('disk',3,0));
subplot(2,2,1); imagesc(IsegD); title('Dilated')
subplot(2,2,2); imagesc(IsegE); title('Eroded')
subplot(2,2,3); imagesc(IsegO); title('Opened')
subplot(2,2,4); imagesc(IsegC); title('Closed')

IsegD (220, 1)
IsegE (220, 1)
IsegO (220, 1)
IsegC (220, 1)


%% k-means Clustering
figure, colormap('default')
Iseg=imsegkmeans(im2single(I2),5);
imagesc(Iseg); colorbar; title('k-means Clustering on RGB')

figure, colormap('default')
[a,b,c]=size(I2);
[X,Y] = meshgrid(1:b,1:a);
featureSet = cat(3,I2,X,Y);
Iseg=imsegkmeans(im2single(featureSet),5);
imagesc(Iseg); colorbar; title('k-means Clustering on RGB+XY')
Iseg (58, 612)
Iseg (145, 174)
Iseg (168, 539)
Iseg (349, 549)
Iseg (374, 229)


%% Hierarchical Agglomerative Clustering
Ismall=imresize(I2,0.25,'bilinear');
[a,b,c]=size(Ismall);
Msmall=reshape(Ismall,[a*b,c]);

Mseg=clusterdata(Msmall,'cutoff',0.3,'criterion','distance','linkage','average','distance','euclidean');
Iseg=reshape(Mseg,[a,b]);
figure, colormap('default')
imagesc(Iseg); colorbar; title('Hierarchical Agglomerative Clustering on RGB')
Iseg (2, 40)
Iseg (46, 16)
Iseg (80, 26)
Iseg (88, 3)
Iseg (88, 125)

figure; colormap('default')
Msmall=Msmall-min(Msmall);
Msmall=Msmall./max(Msmall);
Mseg=clusterdata(Msmall,'cutoff',0.3,'criterion','distance','linkage','average','distance','euclidean');
Iseg=reshape(Mseg,[a,b]);
imagesc(Iseg); colorbar; title('Hierarchical Agglomerative Clustering on scaled RGB')
Iseg (2, 40)
Iseg (46, 16)
Iseg (80, 26)
Iseg (88, 3)
Iseg (88, 125)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值