




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第6章MATLAB圖像處理MATLAB的特點是語法結構簡單,數值計算高效,圖形功能完備,特別受到以完成數據處理與圖形圖像生成為主要目的的科研人員的青睞。隨著MATLAB在各個工程領域應用的日益廣泛,專家學者們相繼推出了一系列的工具箱,來處理相應領域的具體問題。CommunicationsControlSystemCurveFittingDataAcquisitionDatabaseFilterDesignFinancialFuzzyLogicImageProcessingInstrumentControlLMIControlMappingModelPredictiveControlMu-AnalysisandSynthesisNeuralNetworkOptimizationPartialDifferentialEquationRobustControlSignalProcessingSplineStatisticsSymbolicMathSystemIdentificationVirtualRealityWaveletMatlabToolboxesCommunicationsControlSystemCurveFittingDataAcquisitionDatabaseFilterDesignFinancialFuzzyLogicImageProcessingInstrumentControlLMIControlMappingModelPredictiveControl通信控制系統曲線擬合數據采集數據庫濾波器設計金融模糊邏輯圖像處理儀器控制線性矩陣不等(式)控制映射模型預測控制MatlabToolboxes神經網絡最優化偏微分方程魯棒控制信號處理樣條(曲線擬合分析)統計學符號數學系統識別虛擬現實小波(分析)MatlabToolboxesNeuralNetworkOptimizationPartialDifferentialEquationRobustControlSignalProcessingSplineStatisticsSymbolicMathSystemIdentificationVirtualRealityWavelet圖像處理工具箱提供了豐富的圖像處理函數,主要完成以下功能:圖像的幾何操作圖像的鄰域和圖像塊操作線性濾波和濾波器設計圖像變換圖像分析與增強二值圖像操作感興趣區域處理MATLAB圖像工具箱提供的函數大多數是M文件,我們可以查看這些文件的代碼并進行改進,也可以把自己編寫的代碼加入其中,來擴充圖像處理的功能。MATLAB圖像處理:1.圖像類型及轉換2.圖像讀寫與顯示3.圖像的幾何操作一、MATLAB中圖像類型在MATLAB中,圖像是按像素存儲的,即矩陣的每個元素代表一個像素。一幅300行200列的灰度圖像,在MATLAB中存儲為300×200大小的矩陣。一幅RGB圖像,需要三維矩陣表示,每一維代表一種顏色,這樣一幅300行200列的RGB圖像就需要用300×200×3的矩陣表示。300200300200一、Matlab圖像類型圖像數據矩陣的數據類型:雙精度(double)型,即64位的浮點數。一個數據占用8個字節。數據存儲量巨大。無符號整型(uint8),一個數據占用一個字節。節省存儲空間。由于MATLAB及工具箱中的大多數運算和函數(比如最基本的矩陣加減運算)都不支持uint8類型,在運算時通常要將圖像轉換成double型。
一、Matlab圖像類型MATLAB圖像處理工具箱支持4種圖像類型:1.MATLAB支持的圖像類型圖像類型是指圖像在MATLAB數據文件中的存儲方式。(1)真彩色圖像
(2)索引色圖像
(3)灰度圖像
(4)二值圖像另外,MATLAB還可以處理由多幀圖像組成的圖像序列.
真彩色圖像又稱RGB圖像,它是利用R,G,B3個分量來表示一個像素的顏色,R,G,B分別代表紅、綠、藍3種不同的顏色,通過三基色可以合成出任意顏色。所以對一個尺寸為m×n的彩色圖像來說,在Matlab中則存儲為一個m×n×3的三維數組。真彩色圖像可用雙精度型來存儲,亮度值范圍[0,1]。一像素值為(0,0,0)代表黑色,(1,1,1)代表白色,(1,0,0)代表紅色,這一點與Windows編程規則不同〔(255,0,0)代表紅色〕。真彩色圖像也可以用無符號整型來存儲,如果用無符號整型存儲RGB圖像,則亮度值的范圍為[0,255]。(1)真彩色圖像redgreenblue雙精型真彩色圖像redgreenblue調色板數據矩陣12345678索引色圖像存儲的是顏色的序號而不是顏色本身。不同的序號對應為不同的顏色。(2)索引色圖像索引圖像包含兩個結構:調色板、圖像數據矩陣。RGBIndexedcolorimagePalette灰度圖像就是只有亮度信息,而沒有顏色信息的圖像。存儲灰度圖像只需要一個數據矩陣,矩陣的每個元素表示對應位置的像素的灰度值。(3)灰度圖像灰度圖像二值圖像就是黑白二值圖像。二值圖像只需一個數據矩陣來存儲,每個像素只取0或者1。(4)二值圖像有些情況下,需要一系列按照時間或者序號排列起來的一組圖像,例如核磁共振圖像片(MRI)或者電影文件。圖像處理工具箱中定義了函數可以將多幀圖像連接成圖像序列。圖像序列是一個四維的數組,圖像的長、寬、顏色深度構成圖像的前三維,圖像幀的序號構成第四維。比如一個包含了4幅500×400真彩色圖像的序列,圖像的大小則為500×400×3×4。再如:(5)序列圖像在有些圖像操作中,需要對圖像的類型進行轉換。比如要對一幅索引色圖像濾波,首先應該將其轉換成真彩色圖像或者灰度圖像,這時Matlab將會對圖像的灰度進行濾波,這是通常意義上的濾波。如果不將索引色圖像進行轉換,Matlab則對圖像調色板的序號進行濾波,這是沒有任何意義的。
2.圖像類型轉換(1)im2bwim2bw函數通過設置亮度閾值將真彩色、索引色、灰度圖像轉換成二值圖像。語法格式為:
BW=im2bw(I,level)
%灰度圖像I→二值圖像
BW=im2bw(X,map,level)
%索引色圖像→二值圖像
BW=irn2bw(RGB,level)
%真彩色圖像I→二值圖像參數level是歸一化的閾值,取值范圍[0,1]。輸入圖像可以是double或uint8類型,輸出圖像為uint8類型。下例將一幅索引色圖像轉換成灰度圖像,結果如圖所示:loadtrees%讀入trees索引色圖像
I=ind2gray(X,map);%將索引色圖像轉換為灰度圖像imshow(X,map)%顯示原索引色圖像
figure,imshow(I)%另繪窗口,顯示灰度圖像
索引圖像灰度圖像(2)ind2grayind2gray函數可以將索引色圖像轉換成灰度圖像,語法格式為:I=ind2gray(X,map)將具有調色板map的索引色圖像I轉換成灰度圖像I,它去掉了圖像的色度和飽和度,僅保留了圖像的亮度信息。(3)ind2rgb將索引色圖像轉換成真彩色圖像,其語法格式為:
RGB=ind2rgb(X,map)將具有調色板map的索引色圖像X轉換成真彩色圖像RGB。實際實現時,就是產生一個三維數組,然后將索引色圖像對應的調色板的顏色值賦予三維數組。輸入圖像X可以是double或unint8類型,輸出圖像RGB為double類型.(4)mat2graymat2gray函數用于將一個數據矩陣轉換成一幅灰度圖像,其語法格式為:I=mat2gray(A,[aminamax])按指定的取值區間[amin
amax]將數據矩陣A轉換為灰度圖像I,amin對應灰度0(最暗),amax對應1(最亮)。
I=mat2gray(A)如果不指定區間[aminamax],MATLAB則自動將A陣中的最小元設為amin,最上元設為amax。(5)gray2indgray2ind函數可以將灰度圖像轉換成索引色圖像,語法格式為:[X,map]=gray2ind(I,n)該函數按指定的灰度級數n和調色板map,將灰度圖像I轉換成索引色圖像X,n的默認值為64.(6)grayslicegrayslice函數通過設定閾值將灰度圖像轉換成索引色圖像,
語法格式為:
X=grayslice(I,n)
%將灰度圖像I均勻量化為n個等
級,然后轉換為偽彩色圖像X。例:將一幅灰度圖像轉換成索引色圖像。I=imread('ngc4024m.tif');X=grayslice(I,16);
%設定灰度級為16,將灰度圖像轉化為
索引色圖像。imshow(I)figure,imshow(X,hot(16))
%用hot(16)產生調色板來顯示索
引色圖像。
(8)rgb2grayrgb2gray函數用于將一幅真彩色圖像轉換成灰度圖像,語法格式為:
I=rgb2gray(RGB)(9)rgb2indrgb2ind函數用于將真彩色圖像轉換成索引色圖像,其語法格式為:RGB=rgb2ind(X,map)該命令將具有調色板map的索引色圖像X轉換成真彩色圖像X。輸入的圖像X可以是double或uint8類型,輸出圖像RGB為double類型。dither函數通過抖動算法轉換圖像類型
X=dither(RGB,map)
%將RGB按指定的調色板map轉換成索引色圖像X
如:Index_J=dither(I,hot(16))BW=dither(I)
%將灰度圖像I抖動成二值圖像BW(10)ditherMATLAB中利用函數imread來實現圖像文件的讀取操作,1.圖像文件的讀寫其語法格式為:A=imread(‘filename’,‘fmt’)如:I=imread('sunset.jpg');[X,map]=imread(‘filename’,‘fmt’)二、圖像的讀寫與顯示(1)imreadMATLAB支持的圖像文件格式有*.cur、*.bmp、*.hdf、*.ico、*.jpg、*.pcx、*.png、和*.tif。用于圖像文件I/O的工具箱函數是imread、imfinfo和imwrite,其中參數fmt指定了圖像的格式,可選的值為cur、bmp、hdf.ico、jpg、pcx、png和tif,圖像格式也可以和文件名寫在一起,即filename.fmt,默認的文件目錄為當前MATLAB的工作日錄。
二、圖像的讀寫與顯示imwrite函數用于輸出圖像,其語法格式為:imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)(2)imwriteimfinfo函數用于讀取圖像文件的有關信息,其語法格式為:info=imfinfo(filename,fmt)info=imfinfo(filename)imfinfo函數返回一個結構info,它反映了該圖像的各方面信息.如:imfinfo('rice.tif')(3)imfinfoFilename
AstringcontainingthenameofthefileFileModDate
AstringcontainingthemodificationdateofthefileFileSize
AnintegerindicatingthesizeofthefileinbytesFormat
Astringcontainingthefileformat,asspecifiedbyFMT;for
formatswithwithmorethanonepossibleextension(e.g.,JPEG
andTIFFfiles),thefirstvariantintheregistryisreturnedFormatVersionAstringornumberspecifyingthefileformatversionWidth
AnintegerindicatingthewidthoftheimageinpixelsHeightAnintegerindicatingtheheightoftheimageinpixelsBitDepthAnintegerindicatingthenumberofbitsperpixelColorType
Astringindicatingthetypeofimage;either
'truecolor'foratruecolor(RGB)image,'grayscale'
foragrayscaleintensityimage,or'indexed',foran
indexedimageThefirstninefieldsoftheInformationaboutgraphicsfileare:實際上在MATLAB中讀取和存儲圖像還經常使用load和save
這兩個命令。load的功能是從*.mat文件中讀取變量,save命令的功能是將變量存入*.mat文件。save命令的格式及意義如下:savefilenameX%將變量X存入filename的*.mat文件。savefilenameXYZ%把不同的變量存入同一個文件.如:把flowers.tif中的圖像數據存入名為newfile的*.mat文件中。[I,map]=imread('flowers.tif');savenewfileImapload的格式為:loadfilename%把名為filename的*.mat文件中存儲的
變量讀入MATLAB的工作空間,各變量名
為存儲時的變量名。loadfilenameXY%把名為filename的*.mat文件中存儲
的X和Y的變量讀入MATLAB的工作空間。image是MATLAB本身提供的最原始的圖像顯示函數,
使用格式為:image(X);colormap(map);2.圖像文件的顯示(1)image例:MATLAB預存的一組圖像數據,包含圖像矩陣X和調色板矩陣map,下面的語句用來顯示圖像,其圖像如圖所示.loadclownimage(X)colormap(map)axisequalimshow函數是最常用的顯示各種圖像的函數,其語法如下:imshow(I,n)imshow(I,[lowhigh])%用于顯示灰度圖像,n為灰度級數目,默認值為256,
[lowhigh]為圖像數據的值域。
imshow(BW)
%顯示二值圖像
imshow(X,map)
%顯示索引色圖像,X為數據圖像矩陣,
map為調色板
imshow(RGB)
%用于顯示真彩色圖像imshow(…,displayoption)i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司組團采摘活動方案
- 公司故居活動方案
- 公司每天小禮物活動方案
- 公司旅游策劃活動方案
- 公司新業務拓展策劃方案
- 短視頻制作師職業資格考試的測試題及答案
- 2025年信息系統項目管理師職業資格考試試卷及答案
- 2025年醫院管理師考試試題及答案
- 2025年心理咨詢與治療理論基礎考試試題及答案
- 2025年心理健康和社會支持服務考試試卷及答案
- 求職心理調適專家講座
- GB/T 6344-2008軟質泡沫聚合材料拉伸強度和斷裂伸長率的測定
- GB/T 3532-1995日用瓷器
- 學術論文寫作規范與技巧課件
- 生物高中-基于大數據分析的精準教學課件
- 工程結算審計實施方案(共8篇)
- 樂東221氣田投產專家驗收匯報
- 信任五環(用友營銷技巧)課件
- 2022年廣東省深圳市中考化學真題試卷
- 危險貨物道路運輸安全生產管理制度
- GB∕T 8110-2020 熔化極氣體保護電弧焊用非合金鋼及細晶粒鋼實心焊絲
評論
0/150
提交評論