matlab——提取圖像中的腐蝕區域

形態學運算處理圖像

資料來自《詳解MATLAB圖像函數及其應用》
作者:張倩,佔君,陳珊
出版社:電子工業出版社
出版時間:2011-04

這是我對MTALAB圖像處理整理出來的學習筆記,望與君共勉
採用部分只有代碼,其他的我自己收集來的資料,萌新一枚,侵權即刪
內容來自書的第十九章1483頁的圖像特徵提取實戰1

1.讀取並顯示圖像

I=imread('1234.png');
figure(1);
imshow(I);
J=rgb2gray(I);
figure(2);
imshow(J);

imread函數

  • A=imread(filename,fmt)
    從指定的圖像中讀取灰度圖像或真彩色圖像
    filename表示文件名
    fmt表示文件類型

其他用語說明

  1. 灰度圖像又名灰度數字圖像
  • 每個像素只有一個採樣顏色的圖像
  • 這類圖像通常顯示爲從最暗黑色到最亮的白色的灰度
  • 與黑白圖像不同,黑白只有兩種顏色,灰度圖像在黑色與白色之間還有許多級的顏色深度
  1. 採樣
  • 一個圖像數據轉換成若干個M*N數據塊的過程
  • 就比如說一段模擬信號,我們要把連續的模擬量轉化爲數字量,如果我用0和1這兩個數來記錄,則可以把信號分爲兩部分,一個是0的部分,一個是1的部分,那這樣就會有很大的失真
  • 爲了減少對信號形狀的影響,我們可以用0000這一串一個字節的數據來吧模擬信號的大小區分出區間來,比如果該段信號最高5V,最低0.1V
  • 我們把5到0V這一段長度分爲16等分,最接近0的一份我們用0000來表示這段區間,最接近5的一份我們用1111來區分,於是把16個編碼分配給了16個區間
  • 對於圖像也同樣如此,圖像也是模擬信號,但電腦可以認識的是數字信號,也就是01010101這些東西,所以我們可以把一個圖像分作多個數據塊
  • 比如說JPEG圖像編碼的過程,把一個圖像數據轉換爲若干個8*8數據塊(block),每個數據塊(block)中都有64個像素(pixel)
  • 所以採樣這個過程中,輸入的是一張圖像數據,是模擬的量,輸出的是若干個M*N數據塊(block)
  1. 真彩色
  • 指圖像中每個像素值都分成R、G、B三個基色分量,每個基色分量直接決定其基色的強度,然後產生的色彩成爲真彩色

figure函數

  • 創建新的圖形對象,在屏幕上單獨顯示的窗口,且窗口中可以輸出圖形
  • figure(H)
    創建一個句柄爲H的圖形窗口
    此處的句柄,從我自己的理解來說的話,也就是用來顯示這是第幾個圖形窗口,或者這是你規定的哪一個圖形窗口,一般都是數字
    個人認爲與matlab內的函數句柄有相似的地方,但是比函書句柄更直觀更好理解

imshow函數

  • imshow(I)
    顯示灰度圖像I
    I爲矩陣,元素範圍爲[0 255]

rgb2gray函數

  • I=rgb2gray(RGB)
    將真彩色RGB圖像或索引圖像轉換爲灰度圖像
    參量RGB是一個維數爲MxNx3的數組,表示RGB圖像

其他用語說明

  1. 索引圖像
  • 一種直接把像素值作爲RGB調色板下標的圖像
  • 它包含了一個數據矩陣data和一個調色板矩陣map
  • 索引模式與灰度模式類似,每個像素點也有256中顏色容量,但索引模式可以負載彩色,灰度模式只能有256種顏色
  • 當圖像轉換成索引模式時,系統會自動根據圖像上的顏色歸納出能代表大多數的256種顏色,就像一張顏色表,然後用256種顏色來代替圖像上的所有顏色信息
  • 索引模式下的圖像就像是一塊塊由小瓷磚拼成的,最多256種色彩帶來了更小的文件體積
  • 這個模式下也有它的好處:它所形成的的每一個顏色都有其獨立的索引標識,只要根據其索引標識,將圖像重新識別,它的顏色就完全還原了
  • 主要用於網絡上的圖片傳輸和一些對圖像像素、大小有嚴格要求的地方
  • 該圖像內涵一個調色板,應該說這個調色板是在看待圖像索引矩陣時才能用上的一個東西

2.對圖像進行去噪聲處理,初步提取圖像特徵

K=wiener2(J,[5 5]);
figure(3);
imshow(K);
M=im2bw(K,0.95);
figure(4);
imshow(M);

wiener2函數

  • J=wiener2(I,[m n],noise)
    對圖像進行降噪處理
    m和n爲標量,指定m x n鄰域來估計圖像均值和方差,默認爲3x3
    noise爲矩陣,表示指定噪聲
  • [J,noise]=wiener2(I,[m n])
    對圖像進行降噪處理
    m和n爲標量,指定m x n領域來估計圖像均值和方差,默認爲3x3
    返回函數的估計噪聲noise

im2bw函數

  • BW=im2bw(I,level)
    閾值法轉換圖像爲二值圖像
    將灰度圖像I轉換成二值圖像BW
    level爲閾值,即標準化灰度值,範圍爲[0 1]
    I中大於level的像素設爲1(白色),小於的像素爲0(黑色)

其他用語說明

  1. 閾值即臨界值
  2. 二值圖像
    指圖像上每一個像素只有兩種可能的取值或灰度等級狀態,常稱爲黑白、B&W、單色圖像
    其上像素點的灰度值均爲0或255,0-黑-255-白

3.對圖像進行形態學運算,提取圖像中的腐蝕區域

se1=strel('disk',3);
L=imopen(M,se1);
figure(5);
imshow(L);
se=strel('disk',2);
N=imclose(L,se);
figure(6);
imshow(N);

strel函數

  • SE=strel(shape,parameters)
    創建形態學結構元素對象
    shape可是square方形,line線形,disk圓盤形,ball球形和rectangle長方形等
    parameters是對shape的大小描述
    此處爲disk圓盤形,半徑爲3,下方爲2

其他用語說明

  • 數學形態學涉及抑制噪聲、特徵提取、邊緣檢測、圖像分割、形狀識別、紋理分析、圖像恢復與重建、圖像壓縮等圖像處理問題

imopen函數

  • IM2=imopen(IM,SE)
    對圖像進行形態學開運算
    對灰度圖像或二值圖像IM進行形態學開運算,返回開運算結果圖像IM2
    SE爲由strel函數生成的結構元素對象

其他用語說明

  1. 開運算
    被定義爲先腐蝕後膨脹
    在計算機視覺和圖像處理領域中是基本的形態學噪點消除模塊
  2. 開運算總結:
  • 能夠出去孤立的小點、毛刺和小橋,總的位置和形狀不變
  • 是一個基於幾何運算的濾波器
  • 結構元素大小的不同將導致濾波效果的不同
  • 不同的結構元素的選擇導致了不同的分割,即提取出不同的特徵
  • 人話:就有一點掃雷的感覺,以九宮格的中心點爲標準,若存在相同的九宮格則先去除掉,只留下中心作爲標記,然後再在有標記的地方放下和自己形狀一樣的九宮格,那些無法滿足九宮格條件的毛刺就被去除了
  1. 閉運算
    被定義爲先膨脹後腐蝕
  2. 閉運算總結
  • 能夠填平小孔,彌合小裂縫,而總的位置和形狀不變
  • 通過填充圖像的凹角來濾波圖像
  • 結構元素的大小不同將導致濾波效果的不同
  • 不同的結構元素的選擇導致了不同的分割
  1. 腐蝕/膨脹
    數學形態學中兩個基本算子之一,爲二值圖像定義的,之後被擴展到灰度圖像以及完全格
  2. 結構元素
    用來進行腐蝕和膨脹的基本單元

imclose函數

  • IM2=imclose(IM,SE)
    對圖像進行形態學閉運算
    對灰度圖像或二值圖像IM進行形態學閉運算,返回閉運算結果圖像IM2
    SE爲由strel函數生成的結構元素對象
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章