MATLAB與數字影象處理概述
1. DIP概述
(1) 數字影象處理(Digital Image Processing)及特點
數字影象處理又稱為計算機影象處理,它是將影象訊號轉換成數字訊號並利用計算機對其進行處理的過程,以提高影象的實用性,從而達到人們所要求的預期結果。數字影象處理有以下特點:處理資訊量大、佔用的頻帶較寬、數字影象中各個畫素(Pixel)的相關性大。
(2)影象處理系統
一般的影象處理系統都是由影象數字化裝置、影象處理器(計算機)和影象輸出裝置組成的。
影象數字化裝置是將輸入的模擬量(如光、超聲波和X射線等)轉換成離散的電訊號,以供計算機使用。影象處理計算機是以軟體方式完成對影象的各種處理和識別。影象輸出裝置則是將影象處理的中間或最後結果顯示出來。
數字影象處理系統的優點是:精度高、處理速度快、通用性和靈活性高、再現性好等。
(3)主要研究內容
- 影象增強(Enhancement):包括時域頻域變換、點運算、空間域濾波和頻率域濾波。
- 影象復原(Restoration):預測影象退化模型,並儘可能恢復影象的原貌。
- 影象壓縮與編碼(Compression and Coding):利用影象訊號的統計特徵對影象訊號進行高效壓縮和編碼。
- 影象分割(Segmentation):把影象按照其灰度或者集合特徵分割成獨立區域的過程。
- 影象分類(Classification):將影象經過預處理(變換、增強、壓縮、編碼、復原等)操作後,再將影象中的目標物體特徵進行分割,特徵提取,進而進行分類。
2. MATLAB與數字影象處理
Matlab(Matrix—Lab矩陣實驗室)軟體功能強大,其內容涉及矩陣代數、微積分、應用數學、有限單元法、科學計算與數理統計、訊號與系統、自動控制系統及通訊技術、神經網路、小波分析及其應用、數字影象處理、計算機圖形學、電子電氣、電機學、樸素物理、力學和機械振動等方面。MATLAB語法結構簡單,數值計算工具豐富效率高,圖形功能完備,特別受到以完成資料處理為目標的廣大研究生和技術研發人員的青睞。但是,MATLAB相比於其他開源影象處理庫如OpenCV、OpenGL、OpenCL等,其程式執行速度有不小差距。
Matlab中的基本資料結構是由一組有序的實數或複數元素構成的陣列,同樣的,Matlab中通常用二維陣列(矩陣)來儲存影象資料,陣列的每個元素對應一個畫素值。而不同型別的影象資料其儲存結構通常不同,如RGB256256
RGB影象:
一副RGB影象就是彩色畫素的一個MN3陣列,其中每一個彩色相似點都是在特定空間位置的彩色影象相對應的紅、綠、藍三個分量。
令fR,fG,fB分別代表三種RGB分量影象,一副RGB影象就利用cat(級聯)操作將這些分量影象組合成彩色影象:
rgb_image=cat(3,fR,fG,fB);
3. MATLAB影象處理工具箱
- MATLAB提供了豐富的影象處理函式,主要完成以下功能:
- 影象的幾何操作
- 影象的領域和影象塊操作
- 線性濾波和濾波器設計
- 影象變換
- 影象分析和增強
- 二值影象形態學操作
- 影象復原
- 影象編碼
- 特定區域操作
-
影象檔案的讀/寫函式
(1)imread(); 函式用於實現影象檔案的讀取。A = imread('ima.jpg'); % imread來讀取影象 imshow(A); %用imshow函式顯示影象
(2)imwrite();函式用來實現影象檔案的寫入。
imwrite(A,'image.jpg'); %把檔案寫在MATLAB工作目錄下
(3)用iminfo()函式來獲取影象檔案資訊
info=iminfo(A); %用iminfo查詢影象資訊
(4)colorbar()函式將顏色條新增在座標軸物件上。
RGB=imread('ima.jpg');
I=rgb2gray(RGB); %RGB轉灰度圖
h=[1,2,1;0,0,0;-1,-2,-1];
I2=filter2(h,I);
imshow(I2,[]),colorbar('vert') %將顏色條新增到座標物件中
- 影象變換函式