1. 程式人生 > >GUI影象處理---高階選單_影象分割

GUI影象處理---高階選單_影象分割

影象分割

I=imread('C:\Users\洋仔\Desktop\chapter13\影象處理GUI\gray.bmp');
subplot(2,2,1),imshow(I);title('原始dog灰度影象');
Ic=imcomplement(I);
BW=im2bw(Ic,graythresh(Ic));
subplot(2,2,2),imshow(BW);title('閾值擷取分割後圖像');
se=strel('disk',6);
BWc=imclose(BW,se);
BWco=imopen(BWc,se);
subplot(2,2,3),imshow(BWco);title('對小影象進行刪除後圖像');
mask=BW&BWco;
subplot(2,2,4),imshow(mask);title('檢測結果的影象');

相關函式解釋

1.imcomplement函式

強度影象取反

I = imread('cameraman.tif');
J = imcomplement(I);
imshowpair(I,J,'montage')

取反影象

2.graythresh函式

根據Otsu方法計算影象全域性閾值

I = imread('coins.png');
level = graythresh(I)
BW = im2bw(I,level);        %轉化為二值影象
imshowpair(I,BW,'montage')  %顯示二值影象

結果:
level = 0.4941
coins

3.im2bw函式(imbinarize)

基於閾值將影象轉換為二值影象

BW = im2bw(I,level) 

將輸入影象I中,畫素亮度大於level的畫素值設為1 (白色), 其他畫素值為0(黑色)。舉例如上。

注意:現在更常用imbinarize函式,用法類似。

4.strel函式和imclose函式

形態學中的函式。
* strel函式:表示平面形態學構造元素, 它是形態學擴張和侵蝕操作的重要組成部分。
* imchose函式:形態學閉合。

originalBW = imread('circles.png');
imshow(originalBW);
se = strel('disk',10);             %建立磁碟形狀的結構元素。
closeBW = imclose(originalBW,se);  %執行形態學關閉操作
figure, imshow(closeBW)

se=strel('disk',10)建立半徑為10的平面圓盤形結構.
J = imclose(I,SE) 在灰度或二進位制影象I上執行形態學閉合, 返回閉合影象J