文章目錄
形態學運算處理圖像
資料來自《詳解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表示文件類型
其他用語說明
- 灰度圖像又名灰度數字圖像
- 每個像素只有一個採樣顏色的圖像
- 這類圖像通常顯示爲從最暗黑色到最亮的白色的灰度
- 與黑白圖像不同,黑白只有兩種顏色,灰度圖像在黑色與白色之間還有許多級的顏色深度
- 採樣
- 一個圖像數據轉換成若干個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)
- 真彩色
- 指圖像中每個像素值都分成R、G、B三個基色分量,每個基色分量直接決定其基色的強度,然後產生的色彩成爲真彩色
figure函數
- 創建新的圖形對象,在屏幕上單獨顯示的窗口,且窗口中可以輸出圖形
- figure(H)
創建一個句柄爲H的圖形窗口
此處的句柄,從我自己的理解來說的話,也就是用來顯示這是第幾個圖形窗口,或者這是你規定的哪一個圖形窗口,一般都是數字
個人認爲與matlab內的函數句柄有相似的地方,但是比函書句柄更直觀更好理解
imshow函數
- imshow(I)
顯示灰度圖像I
I爲矩陣,元素範圍爲[0 255]
rgb2gray函數
- I=rgb2gray(RGB)
將真彩色RGB圖像或索引圖像轉換爲灰度圖像
參量RGB是一個維數爲MxNx3的數組,表示RGB圖像
其他用語說明
- 索引圖像
- 一種直接把像素值作爲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(黑色)
其他用語說明
- 閾值即臨界值
- 二值圖像
指圖像上每一個像素只有兩種可能的取值或灰度等級狀態,常稱爲黑白、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函數生成的結構元素對象
其他用語說明
- 開運算
被定義爲先腐蝕後膨脹
在計算機視覺和圖像處理領域中是基本的形態學噪點消除模塊 - 開運算總結:
- 能夠出去孤立的小點、毛刺和小橋,總的位置和形狀不變
- 是一個基於幾何運算的濾波器
- 結構元素大小的不同將導致濾波效果的不同
- 不同的結構元素的選擇導致了不同的分割,即提取出不同的特徵
- 人話:就有一點掃雷的感覺,以九宮格的中心點爲標準,若存在相同的九宮格則先去除掉,只留下中心作爲標記,然後再在有標記的地方放下和自己形狀一樣的九宮格,那些無法滿足九宮格條件的毛刺就被去除了
- 閉運算
被定義爲先膨脹後腐蝕 - 閉運算總結
- 能夠填平小孔,彌合小裂縫,而總的位置和形狀不變
- 通過填充圖像的凹角來濾波圖像
- 結構元素的大小不同將導致濾波效果的不同
- 不同的結構元素的選擇導致了不同的分割
- 腐蝕/膨脹
數學形態學中兩個基本算子之一,爲二值圖像定義的,之後被擴展到灰度圖像以及完全格 - 結構元素
用來進行腐蝕和膨脹的基本單元
imclose函數
- IM2=imclose(IM,SE)
對圖像進行形態學閉運算
對灰度圖像或二值圖像IM進行形態學閉運算,返回閉運算結果圖像IM2
SE爲由strel函數生成的結構元素對象