MATLAB數(shù)字圖像處理介紹課件_第1頁(yè)
MATLAB數(shù)字圖像處理介紹課件_第2頁(yè)
MATLAB數(shù)字圖像處理介紹課件_第3頁(yè)
MATLAB數(shù)字圖像處理介紹課件_第4頁(yè)
MATLAB數(shù)字圖像處理介紹課件_第5頁(yè)
已閱讀5頁(yè),還剩144頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、圖像:(1)模擬圖像:光學(xué)圖像、模擬電視圖像等。 處理速度快,但精度和靈活度差。(2)數(shù)字圖像:數(shù)碼相機(jī)、數(shù)字電視等。是將連續(xù)的模擬圖像經(jīng)過(guò)離散化處理后得到的計(jì)算機(jī)可以識(shí)別及處理的點(diǎn)陣圖像。數(shù)字圖像像素?cái)?shù)字圖像的優(yōu)點(diǎn):(1)精度高:目前計(jì)算機(jī)可將模擬圖像轉(zhuǎn)化成高精度數(shù)字圖像(2)處理方便:數(shù)字圖像是一組數(shù)據(jù),可利用計(jì)算機(jī)對(duì)其處理(3)重復(fù)性好:數(shù)字圖像可比模擬圖像有正常的保質(zhì)時(shí)間圖像的不同類型及在matlab中的顯示1. 數(shù)字圖像(按紀(jì)錄方式分):(1)矢量圖像:利用數(shù)學(xué)的矢量方式紀(jì)錄圖像內(nèi)容。以線條和色塊為主,容易放大、縮小或旋轉(zhuǎn),且不易失真,精確度高,可以繪制3D圖像。但是不易做成色彩豐富

2、的圖像。(2)位圖圖像:將圖像中每一個(gè)像素點(diǎn)轉(zhuǎn)換成一個(gè)數(shù)據(jù)。如果以8位記錄,可以表現(xiàn)出256種顏色( ),所以色彩豐富。通常有:16色,256色,增強(qiáng)16位和真彩色24位( ).但隨著顏色數(shù)和分辨率的提高,存儲(chǔ)空間大,且較易失真。用數(shù)碼相機(jī)和掃描儀獲得的圖像都屬于位圖。3)象素:是圖像在計(jì)算機(jī)顯示中的度量單位,可以變化,可大可小。 4)分辨率:是用于度量圖像在顯示器中清晰程度的一個(gè)參數(shù),分辨率越高,圖像越清晰。分辨率是與象素相關(guān)的,即單位長(zhǎng)度上的象素?cái)?shù)就是分辨率。由此可知,分辨率越高,象素的幾何尺寸就越小。 5)圖像文件的大?。褐敢环鶊D像在計(jì)算機(jī)中保存時(shí)所占用的磁盤空間,其大小與所用的顏色模式

3、有關(guān)?;叶葓D像中的每一個(gè)灰度象素只占用一個(gè)字節(jié)(8位),RGB圖像中紅、綠、藍(lán)各占用一個(gè)字節(jié)。另外,圖像文件的大小也直接與其分辨率有關(guān),原因是當(dāng)分辨率增加時(shí),一幅圖像所包含的象素量急劇增加。 6)句柄:就是對(duì)象的代號(hào)或標(biāo)志,它能使計(jì)算機(jī)方便地找到所需要的對(duì)象并加以相應(yīng)的操作。MATLAB中的句柄圖形對(duì)象包括軸、文本、菜單、控制框、圖像等。 2.幾種常見(jiàn)的MATLAB 圖像文件格式簡(jiǎn)介 : A)BMP格式。即位圖文件,整幅圖可視為一個(gè)數(shù)字矩陣。它包括1、4、8、24位非壓縮圖像,8位RLE(行程編碼)圖像。文件內(nèi)容包含文件頭、位圖信息數(shù)據(jù)塊和圖像數(shù)據(jù)。選擇BMP格式保存一幅灰度模式圖像時(shí),可選擇

4、以Windows格式保存。而且在選中4位或8位位圖時(shí),還可選壓縮(RLE)項(xiàng),在用RLE方式壓縮保存后圖像將毫無(wú)損失。這是用得最廣的圖像格式之一。 B)TIFF格式。處理1、4、8、24位非壓縮圖像,1、4、8、24位 packbit 壓縮圖像,1位CCITT壓縮圖像等。文件內(nèi)容包括:文件頭、參數(shù)指針表與參數(shù)域、參數(shù)數(shù)據(jù)表和圖像數(shù)據(jù)四部分。是一種用途廣泛的文件格式,其特點(diǎn)是可移植性好,幾乎所有的掃描儀及在Windows、Macintosh平臺(tái)上常用的版面設(shè)計(jì)軟件都支持TIFF文件格式。但圖像文件結(jié)構(gòu)比較復(fù)雜,不壓縮時(shí)文件比較大。 C)JPEG格式。是一種聯(lián)合圖像專家組的圖像壓縮格式,是目前所用

5、對(duì)靜止灰度或彩色圖像的壓縮標(biāo)準(zhǔn)。它實(shí)際上定義了3種編碼系統(tǒng): a基于DCT有損編碼基本系統(tǒng),用于絕大多數(shù)壓縮場(chǎng)合; b用于高壓縮比、高精度或漸進(jìn)重建應(yīng)用的擴(kuò)展編碼系統(tǒng); c用于無(wú)失真應(yīng)用場(chǎng)合的無(wú)損系統(tǒng)。JPEG沒(méi)有規(guī)定文件格式、圖像分辨率或所用的彩色空間模型,這使它適用于MATLAB。D)PCX格式。可處理1、4、8、16、24位等圖像數(shù)據(jù)。文件內(nèi)容包括文件頭 、圖像數(shù)據(jù)、擴(kuò)展調(diào)色板數(shù)據(jù)。 E)XWD格式。1、8位Zpixmaps, Xybitmaps, 1位XYPixmaps。 F)TGA格式。處理1、4、8、16、24位非壓縮圖像和行程編碼圖像。文件包由5個(gè)固定長(zhǎng)度字段和3個(gè)可變長(zhǎng)度字段組

6、成。 G)HDF格式。有8位,24位光柵圖像數(shù)據(jù)集。 2)灰度圖像:數(shù)據(jù)矩陣中的元素值一般都在0,1或0,255之間,灰度圖像根據(jù)這些數(shù)據(jù)利用線性插值來(lái)和色圖中的顏色種類匹配。 灰度圖像讀入matlab中是一個(gè)二維的平面矩陣,其中行與列的乘積代表其圖片中像素點(diǎn)的個(gè)數(shù)。注意:灰度圖像一般看起來(lái)是一副黑白圖像,但是色彩明暗度較二值圖像更為豐富。因?yàn)槊恳粋€(gè)像素點(diǎn)的取值在0,1或0,255之間。.像素點(diǎn)取值:0,1或0,255mnm*n個(gè)像素,如1024*7683)二值圖像:數(shù)據(jù)矩陣中的元素值只是0或1。讀入matlab也是一個(gè)二維矩陣。注意:二值圖像讀入matlab中也是一個(gè)二維的平面矩陣,但像素點(diǎn)

7、取值只限于0,1。4)RGB圖像:圖像中每個(gè)象素的顏色用三個(gè)數(shù)據(jù)來(lái)存儲(chǔ),分別指定紅、綠、藍(lán)三原色在象素顏色中的比例關(guān)系,組成一個(gè)三維數(shù)組,讀入matlab后是一個(gè)三維的矩陣。 注意:美術(shù)教科書中稱紅、黃、藍(lán)為三原色,講的是繪畫顏料的使用。一般電視光色等光色是紅、綠、藍(lán)。RGB圖像就是采用紅、綠、藍(lán)作為三原色的,其中R為紅色,G為綠色,B為藍(lán)色。MATLAB圖像處理工具箱 Matlab是一種基于向量(數(shù)組)而不是標(biāo)量的高級(jí)程序語(yǔ)言,因而Matlab從本質(zhì)上就提供了對(duì)圖像的支持。數(shù)字圖像實(shí)際上是一組有序離散的數(shù)據(jù),使用Matlab可以對(duì)這些離散數(shù)據(jù)形成的矩陣進(jìn)行一次性的處理。 Matlab對(duì)圖像的

8、處理功能主要集中在它的圖像處理工具箱(Image Processing Toolbox)中。圖像處理工具箱是由一系列支持圖像處理操作的函數(shù)組成,可以進(jìn)行諸如幾何操作、線性濾波和濾波器設(shè)計(jì)、圖像變換、圖像分析與圖像增強(qiáng)、數(shù)學(xué)形態(tài)學(xué)處理等圖像處理操作。 圖像處理工具箱主要有: Image Acquisition Toolbox(圖像采集工具箱) Image Processing Toolbox(圖像處理工具箱) Signal Processing Toolbox(信號(hào)處理工具箱) Wavelet Toolbox(小波分析工具箱) Statistics Toolbox(統(tǒng)計(jì)工具箱) Bioinfor

9、matics Toolbox(生物信息學(xué)工具箱)1.2 圖像處理工具箱所支持的圖像類型 圖像處理工具箱支持4種圖像類型,它們是: 真彩色圖像(RGB images) 索引色圖像(index images) 灰度圖像(intensity images) 二值圖像(binary images) Matlab還支持由多幀圖像組成的圖像序列 真彩色圖像真彩色圖像用 R、G、B 3個(gè)分量表示1個(gè)像素的顏色,數(shù)據(jù)結(jié)構(gòu)是一個(gè)mn3的多維數(shù)組。如果要讀取圖像中(100,50)處像素值,可以查看三元組(100,50,1:3)。真彩色圖像可用雙精度存儲(chǔ),亮度值范圍是0,1常用存儲(chǔ)方法是無(wú)符號(hào)整型存儲(chǔ),亮度值范圍為

10、0,255 圖1 真彩色圖像的結(jié)構(gòu) 索引色圖像索引圖像是把像素值作為RGB調(diào)色板下標(biāo)的圖像。索引色圖像包含2個(gè)結(jié)構(gòu),一個(gè)是調(diào)色板map;另一個(gè)是圖像數(shù)據(jù)矩陣X。調(diào)色板是一個(gè)有3列和若干行的色彩映像矩陣,矩陣每行都代表一種色彩,通過(guò)3個(gè)分別代表紅、綠、藍(lán)顏色強(qiáng)度的雙精度數(shù),形成一種特定顏色。圖像數(shù)據(jù)是uint8或是雙精度的。Matlab中調(diào)色板的色彩強(qiáng)度是0,1中的浮點(diǎn)數(shù),0代表最暗,1代表最亮。 圖2 索引色圖像的結(jié)構(gòu) 索引圖像的數(shù)據(jù)格式雙精度類:Double(每個(gè)元素占8個(gè)字節(jié)) 整數(shù)類:Uint8(每個(gè)元素占1個(gè)字節(jié)) 圖像數(shù)組大?。簃n圖像元素取值:1,p調(diào)色板矩陣:p3圖像數(shù)組大小:m

11、n圖像元素取值:0,p-1調(diào)色板矩陣:p3 索引圖像的double與uint8型123401230000.06270.062700010.29020.6270.6270.38200.35781 doubleuint8圖像數(shù)據(jù)調(diào)色板 灰度圖像 存儲(chǔ)灰度圖像只需要一個(gè)數(shù)據(jù)矩陣,數(shù)據(jù)類型可以是double也可以是uint8。 存儲(chǔ)時(shí)會(huì)使用一個(gè)默認(rèn)的調(diào)色板來(lái)顯示圖像。 圖像序列圖像處理工具箱支持將多幀圖像連接成圖像序列。可以使用cat函數(shù)將分散圖像合并成圖像序列,前提是各圖像尺寸必須相同,如果是索引色圖像,調(diào)色板必須是一樣的。將A1、A2、A3、A4、A5五幅圖像合并成一個(gè)圖像序列A,Matlab語(yǔ)句

12、為A=cat (1,A1,A2,A3,A4,A5), 1維,縱向排列A=cat (2,A1,A2,A3,A4,A5),2維,橫向排列A=cat (3,A1,A2,A3,A4,A5),3維,豎向排列 圖像序列也可以產(chǎn)生一個(gè)四維的數(shù)組,圖像幀的序號(hào)在圖像的長(zhǎng)、寬、顏色深度之后構(gòu)成第四維。一個(gè)包含了5幅400300真彩色圖像的序列,大小為 40030035一個(gè)包含了5幅400300灰度或是索引圖像的序列,其大小為 40030015 A=cat (4,A1,A2,A3,A4,A5), 4維 提取其中一幀(如第2幀):A(:,:,:,2) 函數(shù)imread可完成圖形圖像文件的讀取操作,其語(yǔ)法如下, 一般

13、:A=imread(filename, fmt) 索引圖像:X, map=imread(filename, fmt) X, map=imread(m83.tif, tif)圖形圖像文件的讀取存儲(chǔ)圖像數(shù)據(jù)的矩陣名圖像調(diào)色板圖像文件名文件格式一個(gè)例子:圖像Imread 讀入Matlab中的矩陣A(一個(gè)三維矩陣)Matlab窗口Imread 命令讀入的A是一個(gè)三維的數(shù)據(jù)為uint8位的矩陣命令窗口imread函數(shù)可以從任何Matlab 支持的圖形文件中以特定的位寬讀取圖像。讀取的大多數(shù)圖像均為8bit。加載到內(nèi)存中時(shí),就存儲(chǔ)在類uint8中。 對(duì)于索引圖像來(lái)說(shuō),即使圖像陣列的本身為uint8或uin

14、t16,imread函數(shù)仍然將顏色映像表讀取并存儲(chǔ)到一個(gè)雙精度的浮點(diǎn)類型陣列中。 對(duì)A(1536*2048*3,uint8)的解釋如下圖:通過(guò)左圖的表示,這樣這個(gè)三維矩陣A就可以表示成一個(gè)彩色矩陣,也就是一張數(shù)字圖像可以在matlab中讀成一個(gè)矩陣A值得注意的是數(shù)據(jù)類型,上面記錄的數(shù)據(jù)是uint8型,關(guān)于數(shù)據(jù)類型,有如下內(nèi)容:在圖像(x1,y1)點(diǎn)的RGB值是(r,g,b)且數(shù)據(jù)為uint8位圖形圖像文件的寫入(保存)imwrite函數(shù)可以完成圖形圖像文件的寫入操作,其語(yǔ)法為: imwrite(A, filename, fmt) imwrite(X, map, filename, fmt)缺省

15、的保存方式:uint8數(shù)據(jù)格式。Matlab中許多圖像都是8bit,不需要雙精度的浮點(diǎn)數(shù)據(jù)。imwrite(X, map, lena.bmp, bmp)圖形圖像文件信息的查詢imfinfo函數(shù)用于從圖像文件中查詢其信息。所獲取信息依文件類型不同而不同,至少包含下面內(nèi)容 文件名 文件格式 文件格式的版本號(hào) 文件修改時(shí)間 文件的字節(jié)大小 圖像的寬度(像素) 圖像的長(zhǎng)度(像素) 每個(gè)像素的位數(shù) 圖像類型(RGB圖像、灰度圖像還是索引圖像) imfinfo(autumn.tif)imfinfo函數(shù)可以觀察圖像信息文件此處沒(méi)有分號(hào)得到圖像信息其他幾個(gè)圖像處理命令介紹Colorbar:Display co

16、lor bar (MATLAB function) 顯示彩條 Imagesc:Scale data and display as image (MATLAB function) 縮放數(shù)據(jù)并顯示圖像 Immovie:Make movie from multiframe indexed image 由多幀圖像制作圖像 Imtool:Display image in the Image Viewer 在image tool中顯示圖像 Montage:Display multiple image frames as rectangular montage 將多個(gè)圖像幀顯示為矩形蒙太奇 Subimage

17、:Display multiple images in single figure 在單個(gè)圖形中顯示多個(gè)圖像 1.4 圖像文件的顯示圖像顯示函數(shù)imshow。其語(yǔ)法格式如下,灰度圖像 imshow(I) imshow(I, n) imshow(I, low high)二值圖像 imshow(BW)索引圖像 imshow(X, map)真彩色圖像 imshow(RGB)其中n為灰度級(jí)數(shù)目,缺省值為256。low high為圖像數(shù)據(jù)的值域。 索引圖像及其顯示索引圖像包括數(shù)據(jù)矩陣X和顏色映像矩陣map。其中map是一個(gè)p3的數(shù)據(jù)矩陣,其每個(gè)元素的值均為0, 1之間雙精度浮點(diǎn)型數(shù)據(jù)。map矩陣的每一行

18、分別表示紅色、綠色和藍(lán)色的顏色值。而數(shù)據(jù)矩陣X可以是double和uint8型的,調(diào)用格式如下: imshow(X, map) 例如一幅包含256色的uint8索引圖像,使用一個(gè)僅有16色的調(diào)色板顯示,則所有數(shù)值大于或等于15的像素都將被顯示為調(diào)色板的最后一個(gè)顏色。 借助不同的調(diào)色板顯示圖像, X=imread(cameraman.tif); map=pink(256); imshow(X,map);colorbar;%顯示顏色條灰度圖像及其顯示 一幅灰度圖像是一個(gè)數(shù)據(jù)矩陣 I,其中數(shù)據(jù)均代表了在一定范圍內(nèi)的顏色灰度值。Matlab 把灰度圖像用數(shù)據(jù)矩陣的形式進(jìn)行存儲(chǔ),每個(gè)元素則表示了圖像中的

19、每個(gè)像素。矩陣元素可以是doudle、uint8整數(shù)類型。 多數(shù)情況下,灰度圖像很少和顏色映像表一起保存,但在顯示灰度圖像時(shí),Matlab 仍然在后臺(tái)使用系統(tǒng)預(yù)定義的缺省灰度顏色映像表。 (1) 灰度圖像顯示最基本的調(diào)用格式 imshow(I) Matlab 中 imshow函數(shù)使用一個(gè)灰度級(jí)系統(tǒng)調(diào)色板(R=G=B)來(lái)顯示灰度圖像。如果I是double型,若像素值為0.0,則顯示為黑色,1.0則顯示為白色,0.0和1.0之間的像素值將顯示為灰影。 imshow函數(shù)顯示灰度圖像 imshow(I, n)以下語(yǔ)句將顯示一幅32個(gè)灰度級(jí)的圖像I。 imshow(I, 32) (2) 使用明確指定的灰

20、度級(jí)數(shù)目(3) 某些情況下,可能將一些超出數(shù)據(jù)慣例范圍的數(shù)據(jù)顯示為一幅灰度圖像 對(duì)于double型數(shù)組為0,1,對(duì)于uint8型數(shù)組為0,255為了將超過(guò)數(shù)據(jù)范圍的數(shù)據(jù)顯示為圖像,用戶可以直接定義數(shù)據(jù)范圍,其調(diào)用格式如下, imshow(I,low high) 其中l(wèi)ow、high分別為數(shù)據(jù)的最小和最大值。 如果用戶使用一個(gè)空矩陣 指定數(shù)據(jù)范圍, imshow將自動(dòng)進(jìn)行數(shù)據(jù)標(biāo)度。 RGB圖像及其顯示imshow函數(shù)顯示RGB圖像的調(diào)用格式如下,imshow(RGB)參數(shù)RGB是一個(gè)mn3的數(shù)組。對(duì)于RGB中的每一個(gè)像素(r,c),imshow顯示數(shù)值(r,c,13)所描述顏色。每個(gè)屏幕像素使用

21、24位顏色系統(tǒng)直接顯示真彩圖像,系統(tǒng)給每個(gè)像素的紅、綠、藍(lán)顏色分量分配8位(256級(jí)),這樣就有1000多萬(wàn)種顏色(224)。 二進(jìn)制圖像及其顯示 顯示二進(jìn)制圖像用如下語(yǔ)句, imshow(BW)二進(jìn)制圖像是一個(gè)邏輯類,僅包括0和1兩個(gè)數(shù)值,像素0顯示為黑色,像素1顯示為白色。在顯示時(shí),也可以通過(guò)NOT()命令,對(duì)二進(jìn)制圖像取反,使數(shù)值0顯示為白色,1顯示為黑色。例如: BW=imread(circles.png); imshow(BW); figure, imshow(BW); 顯示的結(jié)果如下圖所示。 二進(jìn)制圖像顯示效果 直接從磁盤顯示圖像通常在顯示圖像前首先調(diào)用imread函數(shù)裝載圖像,將

22、數(shù)據(jù)存儲(chǔ)為Matlab工作平臺(tái)中的變量。如果不在顯示圖像前裝載圖像,則使用以下命令格式進(jìn)行圖像文件顯示, imshow filename imshow rice.pngimshow(rice.png)多幅圖像文件的顯示 figure,imshow功能:新建一個(gè)圖像窗口,用于顯示新圖像(從而不讓新的圖像覆蓋原來(lái)圖像)。 創(chuàng)建新的圖像窗口,每個(gè)圖像顯示在一個(gè)窗口中 調(diào)用imshow函數(shù)顯示圖像I=imread(rice.png)J=filter2(1 2;-1 -2,I) %用模板1 2;-1 -2對(duì)圖像濾波imshow(I)figure,imshow(J, )用imshow顯示濾波前后的圖像 s

23、ubplot(m,n,k),imshow %繪制并顯示m行n 列第k個(gè)子圖 例: X1=imread(rice.png); X2=imread(coins.png); X3=imread(bag.png); subplot(1,3,1),imshow(X1); subplot(1,3,2),imshow(X2); subplot(1,3,3),imshow(X3); 子圖顯示子圖顯示效果 以圖像的形式輸出,函數(shù)為image(imshow)image的格式是:image(C)image(x,y,C)image(,PropertyName,PropertyValue,)image(Property

24、Name,PropertyValue,)handle=image()其中,x,y分別表示圖像顯示位置的左上角坐標(biāo),C表示所需顯示的圖像。函數(shù)imagesc與image函數(shù)類似,但是可以自動(dòng)標(biāo)度輸入數(shù)據(jù)。關(guān)于image中各參數(shù)的意義可以使用help image查詢Matlab輸出的圖像矩陣AImage/imshow一個(gè)image的例子:得到圖像輸出窗口點(diǎn)擊Data Cursor按鈕并將光標(biāo)移動(dòng)到圖像的一個(gè)位置可以得到此處的數(shù)據(jù)信息,如右圖所示:imshow和image: 圖像的顯示是最為重要的,用imshow和image都可以顯示圖像,但是有一定的區(qū)別。用的不對(duì),可能出錯(cuò)或得到一張空白圖或者是彩

25、色圖顯示成顆粒狀、反相黑白圖等等。image是用來(lái)顯示附標(biāo)圖像,即顯示的圖像上有x,y坐標(biāo)軸的顯示,可以看到圖像的像素大小,而imshow只是顯示圖像。它們都可以用subplot來(lái)定位圖像顯示的位置。 image顯示 imshow顯示顯示真彩色圖像像素如果是uint8類型,要求數(shù)據(jù)范圍為0-255,如是double型,則其數(shù)據(jù)范圍為0-1。uint16數(shù)據(jù)類型與uint8類似,取值范圍為0-65536。 多幀圖像的電影片段若一個(gè)tif圖像文件包含有多幀圖像,一般用immovie來(lái)實(shí)現(xiàn)創(chuàng)建電影片段功能,以下調(diào)用將根據(jù)多幀索引圖像X創(chuàng)建電影片段。 mov=immovie(X,map) mri=ui

26、nt8(zeros(128,128,1,27);for frame=1:27 mri(:,:,:,frame),map=imread(mri.tif,frame);endmov=immovie(mri,map);movie(mov);將mri.tif的每一幀讀入圖相應(yīng)的圖像幀中1.5 Matlab圖像類型轉(zhuǎn)換索引圖像進(jìn)行濾波時(shí),必須把它轉(zhuǎn)換為RGB圖像,否則光對(duì)圖像的標(biāo)進(jìn)行濾波是毫無(wú)意義的。 索引圖像灰度圖像真彩圖像二值圖像數(shù)據(jù)矩陣索引圖像灰度圖像二值圖像RGB圖像Gray2ind Ind2gray Int2rgb Rgb2gray Rgb2ind 三層變一層一層變?nèi)龑樱ǚ椒ㄑ芯浚㊣m2bw

27、涉及到閾值選擇,即多少作為黑白圖像的分界線,一個(gè)閾值選擇函數(shù):graythresh。一個(gè)轉(zhuǎn)換函數(shù)例如:W=im2bw(W,graythresh(W)工具箱中提供了許多圖像類型轉(zhuǎn)換的函數(shù),從函數(shù)名稱可以看出它們的功能。1. dither函數(shù)功能:圖像抖動(dòng),利用僅能顯示少數(shù)彩色的設(shè)備顯示含有豐富顏色信息圖像的一種非常有用的方法。該函數(shù)可以把RGB圖像轉(zhuǎn)換成索引圖像或把灰度圖像轉(zhuǎn)換成二值圖像。 格式:X=dither(RGB,map) BW=dither(I) 抖動(dòng)效果圖 (1) RGB圖像抖動(dòng)成索引圖像 例: I=imread(autumn.tif); map=pink(1024); X=dith

28、er(I,map); imshow(I); figure,imshow(X,map); colorbar 抖動(dòng)效果圖 (2) 灰度圖像抖動(dòng)成二值圖像例: I=imread(rice.png); bw=dither(I); imshow(I); figure,imshow(bw); 抖動(dòng)效果圖 功能:將灰度圖像轉(zhuǎn)換成索引圖像。 格式:X, map= gray2ind(I, n) 按照指定灰度級(jí)n 把灰度圖像I轉(zhuǎn)換成索引圖像X, map 為gray (n) , n的缺省值為64。 例: I=imread(cameraman.tif); X,map=gray2ind(I,16); imshow(X,

29、map); figure,imshow(I); 2. gray2ind函數(shù)功能:通過(guò)設(shè)定閾值將灰度圖像轉(zhuǎn)換成索引色圖像。 格式:X=grayslice(I, n) 例:I=imread(cameraman.tif); X=grayslice(I,16); imshow(I); figure,imshow(X,bone(16); 3. grayslice函數(shù)功能:將灰度圖像、索引色圖像和真彩色圖像轉(zhuǎn)化成二值圖像。 格式:BW=im2bw(I, level) BW=im2bw( X, map, level) BW=im2bw(RGB, level) level是一個(gè)歸一化閾值,取值在0,1。 4.

30、 im2bw函數(shù)I=imread(autumn.tif);X=im2bw(I,0.5);imshow(I);figure,imshow(X); 功能:將索引圖像轉(zhuǎn)換成灰度圖像。 格式:I= ind2gray(X, map) 5. ind2gray函數(shù)功能:將索引色圖像轉(zhuǎn)換成真彩色圖像。格式:RGB=ind2rgb(X, map) 例:I,map=imread(m83.tif); X=ind2rgb(I,map); imshow(I,map); figure,imshow(X); 6. ind2rgb函數(shù) 功能:將一個(gè)數(shù)據(jù)矩陣轉(zhuǎn)換成一幅灰度圖像。 格式:I=mat2gray(A, amin am

31、ax) I=mat2gray(A) 7. mat2gray函數(shù) 功能:將一幅真彩色圖像轉(zhuǎn)換成灰度圖像。 格式:I= rgb2gray(RGB) 例: RGB=imread(autumn.tif); X=rgb2gray(RGB); imshow(RGB); figure,imshow(X); 8. rgb2gray函數(shù)轉(zhuǎn)換效果圖 功能:將真彩色圖像轉(zhuǎn)換成索引色圖像。 格式: X,map = rgb2ind(RGB,n) 例: RGB=imread(autumn.tif); X,map=rgb2ind(RGB,128); imshow(RGB); figure,imshow(X,map); 9.

32、 rgb2ind函數(shù)圖像處理中一些注意問(wèn)題當(dāng)前路徑存放變量默認(rèn)路徑改變路徑各種圖片和編寫的M文件和程序放在默認(rèn)路徑圖像保存中的失真問(wèn)題:A=imread(山水照片.jpg);imshow(A);得到:大小為2048*1536用此處保存得到圖片再讀入和imshow得到保存白邊,大小為335*470解決方案:程序中直接采用imwrite寫入磁盤,這樣大小就不會(huì)改變。一般bmp格式較不易失真。最常碰到的問(wèn)題有: 圖像讀入 imread ,應(yīng)是上文提過(guò)的MATLAB支持的7種格式之一,顯示圖像用imshow (h) 語(yǔ)句,h 為圖像句柄;輸出圖像若需要永久保存,可用imwrite(h,map, fil

33、ename.bmp,bmp), 寫入存儲(chǔ)器。注意在該語(yǔ)句前要設(shè)置調(diào)色板,即map=(gray(256)。 要注意圖像格式的轉(zhuǎn)化。不同的圖像格式對(duì)應(yīng)不同的處理方式,如果處理與格式不符,將引起錯(cuò)誤。 盡管MATLAB允許未定義使用數(shù)組,但在實(shí)際應(yīng)用中這樣經(jīng)常出錯(cuò),特別是遇到在double和uint8型之間的轉(zhuǎn)換時(shí)。所以最好還是養(yǎng)成用前定義的習(xí)慣,避免出現(xiàn)不必要的錯(cuò)誤。 在做完一定量的運(yùn)算后,一般要用Clear清除內(nèi)存變量,以防影響后面的程序運(yùn)行。一般默認(rèn)路徑在matlab安裝文件下的work文件夾中,程序和資源都放在此,如果需要引用新的文件,應(yīng)事先指明路徑。 應(yīng)注意語(yǔ)句結(jié)尾“;” 的使用,特別是圖

34、像處理中。 應(yīng)做好程序的注釋工作。2 圖像處理技術(shù)2.1 圖像的代數(shù)運(yùn)算2.2 圖像的幾何變換2.3 圖像的灰度變換與直方圖2.4 圖像的增強(qiáng)濾波2.5 圖像的空間變換2.6 圖像邊緣檢測(cè)與分割2.1 圖像代數(shù)操作2.1.1 圖像代數(shù)的異常處理計(jì)算結(jié)果異常:255:255計(jì)算結(jié)果類型無(wú)效:四舍五入A1=imread(1.jpg);A2=imread(2.jpg);B=imdivide(imadd(A1,A2),2);應(yīng)考慮使用imlincombB=imlincomb(0.5,A1,0.5,A2); 2.1.2 相加運(yùn)算imadd兩幅圖像疊加I = imread(Girl.bmp);J = im

35、read(LENA256.bmp);K = imadd(I,J,uint16); subplot(2,2,1), imshow(I)subplot(2,2,2), imshow(J)subplot(2,2,3), imshow(K,)圖像整體亮度增加I = imread(LENA256.bmp);J=imadd(I, 50);subplot(1,2,1), imshow(I)subplot(1,2,2), imshow(J)2.1.3 減法運(yùn)算imsubtract兩幅圖像相減I = imread(LENA256.bmp);J=imread(Girl.bmp);Iq = imsubtract(I

36、,J);subplot(2,2,1), imshow(I)subplot(2,2,2), imshow(J)subplot(2,2,3), imshow(Iq)圖像整體亮度減小I = imread(LENA256.bmp);J=imsubtract(I, 50);subplot(1,2,1), imshow(I)subplot(1,2,2), imshow(J)2.1.4 乘法運(yùn)算immultiply亮度縮放I = imread(LENA256.bmp);J = immultiply(I,0.5);K = immultiply(I,2);subplot(1,3,1), imshow(I)sub

37、plot(1,3,2), imshow(J)subplot(1,3,3), imshow(K)兩幅圖像相乘(通常無(wú)意義)I = imread(LENA256.bmp);J=imread(Girl.bmp);Iq = immultiply(I,J);imshow(Iq)2.1.5 除法運(yùn)算imdivide亮度縮放I = imread(LENA256.bmp);J = imdivide(I,0.5);K = imdivide(I,2);subplot(1,3,1), imshow(I)subplot(1,3,2), imshow(J)subplot(1,3,3), imshow(K)兩幅圖像比例變

38、換I = imread(LENA256.bmp);J=imread(Girl.bmp);Iq = imdivide(I,J);imshow(Iq)2.2.1 圖像平移正變換逆變換strel %用來(lái)創(chuàng)建形態(tài)學(xué)結(jié)構(gòu)元素translate(SE,y x)%原結(jié)構(gòu)元素SE上y和x方向平移imdilate%形態(tài)學(xué)膨脹2.2 圖像的幾何變換I=imread(nir.bmp);se=translate(strel(1),180 190);B=imdilate(I,se);figure;subplot(1,2,1),subimage(I);title(原圖像);subplot(1,2,2),subimage(

39、B);title(平移后圖像);2.2.2 圖像鏡像B=imtransform(A,TFORM,method);TFORM=makeform(transformtype,Matrix);%空間變換結(jié)構(gòu)Method合法值含義bicubic雙三次插值bilinear雙線性插值nearest最近鄰插值參數(shù)transformtype指定了變換的類型,常見(jiàn)的affine為二維或多維仿射變換,包括平移、旋轉(zhuǎn)、比例、拉伸和錯(cuò)切等。Matrix為相應(yīng)的仿射變換矩陣。A=imread(nir.bmp);height,width,dim=size(A);tform=maketform(affine,-1 0 0;

40、0 1 0;width 0 1);B=imtransform(A,tform,nearest);tform2=maketform(affine,1 0 0;0 -1 0;0 height 1);C=imtransform(A,tform2,nearest);figure;imshow(A);figure;imshow(B);imwrite(B,nir水平鏡像.bmp);figure;imshow(C);imwrite(B,nir垂直鏡像.bmp);原圖像水平鏡像圖像垂直鏡像圖像A=imread(nir.bmp);tform=maketform(affine,0 1 0;1 0 0;0 0 1)

41、;B=imtransform(A,tform,nearest);figure;imshow(A);figure;imshow(B);imwrite(B,nir轉(zhuǎn)置后圖像.bmp);2.2.3 圖像轉(zhuǎn)置2.2.4 圖像中心旋轉(zhuǎn)B=imrotate(A,angle,method,crop);angle為旋轉(zhuǎn)角度,正值為逆時(shí)針旋轉(zhuǎn)??蛇x參數(shù)method為imrotate函數(shù)指定插值方法。crop選項(xiàng)會(huì)裁減旋轉(zhuǎn)后增大的圖像,保持和原圖像同樣大小。 A=imread(nir.bmp);B=imrotate(A,30,nearest,crop);figure;imshow(B);imwrite(B,逆時(shí)針

42、中心旋轉(zhuǎn)30度.bmp);逆時(shí)針30度2.3 圖像的灰度變換與直方圖在計(jì)算機(jī)中一幅二維數(shù)字圖像表示為一個(gè)矩陣,該矩陣中的元素是位于相應(yīng)坐標(biāo)位置的圖像灰度值。對(duì)圖像處理,包括對(duì)彩色圖像的處理,往往都是對(duì)像素灰度的操作,所以對(duì)圖像進(jìn)行灰度變換是圖像處理過(guò)程中最簡(jiǎn)單、最基礎(chǔ)內(nèi)容。在圖像處理中,直接對(duì)像素進(jìn)行的操作稱為空間域(簡(jiǎn)稱空域)處理。 2.3.1圖像的灰度變換函數(shù)imadjust完成灰度圖像的灰度變換。語(yǔ)法格式為: gimadjust(p,low_in high_in,low_out high_out, gamma)其中p為讀入到MATLAB中的待變換圖像矩陣; low_in high_in指

43、定p圖像中被執(zhí)行變換操作的灰度范圍,low_out high_out是p圖像中的像素變換后被映射到low_outhigh_out的灰度級(jí)上。參數(shù)gamma是指變換映射方式,默認(rèn)gamma取作1,完成線性映射,這時(shí)變換前后的灰度級(jí)沒(méi)有被加權(quán);當(dāng)gamma小于1,則映射被加權(quán)至更高的灰度級(jí);相反當(dāng)gamma大于1,輸出則被加權(quán)映射至較低灰度級(jí)。 幾種灰度變換過(guò)程: 將football.jpg灰度級(jí)0.10.6范圍的像素線性變換到01上,效果如圖所示p = imread(football.jpg);g1 = imadjust(p,0.1 0.6,);subplot(1,2,1);imshow(p);

44、xlabel(a);subplot(1,2,2);imshow(g1); xlabel(b);將圖像p向高灰度級(jí)變換,gamma取0.6,效果如圖所示g2 = imadjust(p,0.6);subplot(2,2,3);imshow(g2);xlabel(c);將圖像p做灰度倒相變換,即輸出源圖的負(fù)片,gamma取1,如圖所示。g3 = imadjust(p,0 1,1 0);subplot(2,2,4);imshow(g3);xlabel(d);2.3.2灰度直方圖圖像灰度直方圖描述了一幅圖像的灰度級(jí)內(nèi)容,即各個(gè)灰度級(jí)像素?cái)?shù)目的統(tǒng)計(jì)。直方圖統(tǒng)計(jì)各個(gè)灰度像素的分布概率,是灰度級(jí)的函數(shù),它反映

45、不出該像素在圖像中的二維坐標(biāo)。通過(guò)灰度直方圖的形狀,可以判斷該圖像的清晰度和黑白對(duì)比度。MATLAB通過(guò)命令imhist給出圖像直方圖。語(yǔ)法格式為: h = imhist(p,b)其中p為讀入的圖像矩陣,參數(shù)b指明直方圖統(tǒng)計(jì)時(shí)顯示的整個(gè)灰度級(jí)分段數(shù)目。省略b時(shí),表明灰度級(jí)不分段,這也是imhist的默認(rèn)調(diào)用方式。 如:uint8數(shù)據(jù)格式的圖像,當(dāng)b2時(shí),灰度分為0127及128256兩個(gè)區(qū)段。顯示圖像p的灰度直方圖時(shí),先要把RGB彩色圖像p變換為灰度圖像I。運(yùn)行下列程序得到如圖所示直方圖。p = imread(football.jpg);I = rgb2gray(p); imhist(I);2

46、.3.3直方圖均衡化當(dāng)一幅圖像基調(diào)過(guò)暗或過(guò)亮?xí)r,需要對(duì)其進(jìn)行必要的處理,使得圖像明暗均勻,視覺(jué)效果變得更為理想。通過(guò)直方圖均衡化做適當(dāng)?shù)恼{(diào)整,即把一幅已知灰度概率分布圖像中的像素灰度做某種映射變換,使它變成一幅具有均勻概率分布的新圖像,使圖像視覺(jué)效果更加清晰。直方圖均衡的MATLAB函數(shù)為histeq,其基本語(yǔ)法格式為: g = histeq(p, outlev) 其中p為讀入的圖像矩陣,outlev為輸出圖像的灰度級(jí)數(shù)。outlev的默認(rèn)值為64,即64個(gè)灰度級(jí),這樣對(duì)圖像的細(xì)節(jié)有一定改變。通常將其賦值為256,即全灰度級(jí)。對(duì)tire.tif進(jìn)行直方圖均衡,效果如圖所示。p = imread

47、(tire.tif);subplot(2,2,1);imshow(p);xlabel(a) );subplot(2,2,2);imhist(p);xlabel(b) );g = histeq(p); subplot(2,2,3);imshow(g);xlabel(c) );subplot(2,2,4);imhist(g);xlabel(d) );2.4 圖像的增強(qiáng)濾波上節(jié)介紹過(guò)的直方圖均衡化是圖像增強(qiáng)中常用的一種方法,此外,圖像增強(qiáng)技術(shù)還包括圖像平滑濾波、圖像銳化等。本節(jié)將從線性與非線性、平滑與銳化等角度介紹一些實(shí)用的空域圖像增強(qiáng)技術(shù)。 1 空域?yàn)V波概述圖像增強(qiáng)技術(shù)從總體上可分為空域增強(qiáng)和頻域

48、增強(qiáng)兩大類??沼蛟鰪?qiáng)也稱為空間增強(qiáng),是直接對(duì)圖像中的像素進(jìn)行操作的一種增強(qiáng)過(guò)程。空域增強(qiáng)從根本上講是以圖像的灰度映射變換為基礎(chǔ)的像素處理技術(shù)。空域增強(qiáng)方法大致可分為對(duì)比度拉伸、平滑濾波和銳化濾波?;叶壤熘饕抢命c(diǎn)運(yùn)算來(lái)修改圖像像素灰度值;而平滑和銳化均是利用模板來(lái)修改(卷積運(yùn)算)像素灰度值,從實(shí)現(xiàn)方法上講是基于圖像濾波的操作過(guò)程??沼?yàn)V波是在圖像空間中借助模板對(duì)圖像進(jìn)行鄰域操作的,輸出圖像每一個(gè)像素的取值都是根據(jù)模板對(duì)輸入像素相應(yīng)鄰域內(nèi)的像素值進(jìn)行計(jì)算得到的,也叫鄰域去噪算法。2 空域?yàn)V波分類根據(jù)模板特點(diǎn)不同可以將空域?yàn)V波分為線性和非線性兩大類。按照空域?yàn)V波器的功能不同,又可將其分為平滑濾

49、波器和銳化濾波器。平滑濾波器可以用低通濾波實(shí)現(xiàn);銳化濾波器是用高通濾波實(shí)現(xiàn)的,具體可分為以下3類。1)均值濾波 均值濾波也稱線性平滑濾波,其輸出的像素值是由鄰域像素的平均值決定。2)中值濾波中值濾波也稱為非線性平滑濾波,其基本原理與均值濾波不同之處在于:中值濾波的輸出像素值是由鄰域像素的中間值而不是平均值決定,中值濾波的名字也因此而得。與均值濾波相比,中值濾波對(duì)灰度發(fā)生聚變的像素不如均值濾波那么敏感,因此中值濾波能盡量保存圖像的細(xì)節(jié),模糊效應(yīng)較少,適于消除圖像中孤立噪聲。3)銳化濾波銳化濾波就是可以使用微分對(duì)圖像進(jìn)行處理,以此來(lái)銳化由于鄰域平均導(dǎo)致的圖像模糊。圖像處理中最常用的微分是利用圖像沿

50、某方向上的灰度變化率,即梯度進(jìn)行的。3基于MATLAB的空域增強(qiáng)濾波基于MATLAB圖像處理的空域?yàn)V波,首先要定義濾波器,然后調(diào)用定義好的濾波器進(jìn)行濾波。imnoise是MATLAB提供的圖像噪聲模擬函數(shù),其基本語(yǔ)法格式為: pn = imnoise(p, type, para)其中pn為添加噪聲的輸出圖像,p為原圖像,type指定噪聲的類型,para為每種類型噪聲的參數(shù)。常用的噪聲有:gaussian(高斯噪聲)、salt&pepper(椒鹽噪聲)、speckle(均值為0均勻分布的隨機(jī)噪聲)等。fspecial函數(shù)用來(lái)預(yù)定義濾波器,語(yǔ)法格式為: h = fspecial(type, par

51、a)其中h為預(yù)定義的濾波器,參數(shù)type指定濾波器的種類,para為與濾波器相關(guān)的參數(shù)。濾波器的種類type可以為:Gaussian(高斯低通濾波器)、laplacian(拉普拉斯算子) log(拉普拉斯高斯算子)、prewitt(Prewitt算子) sobel(Sobel算子)、average(均值濾波器)unsharp(對(duì)比度增強(qiáng)濾波器)imfilter用來(lái)實(shí)現(xiàn)線性空間濾波的函數(shù),語(yǔ)法格式為: hp = imfilter(p, w, filter_mode, boundary_options, size_options)其中hp為經(jīng)過(guò)濾波后輸出圖像,p為原圖像,w為濾波模板,filter

52、_mode指定濾波中使用相關(guān)核(corr)還是卷積核(conv)。boundary_options控制邊界填充方式為邊界復(fù)制(replicate)、邊界循環(huán)(circular)還是邊界對(duì)稱(symmetric)。size_options可以為same或者full兩者之一。medfilt2是一個(gè)二維中值濾波函數(shù),語(yǔ)法格式為: hp = medfilt2(p, m n, padopt)其中hp為經(jīng)過(guò)濾波后輸出的圖像,p為原圖像,m及n規(guī)定了鄰域大小,padopt指定了邊界填充方式,默認(rèn)方式為zeros對(duì)添加了椒鹽噪聲的圖像分別進(jìn)行均值濾波和中值濾波,濾波前后效果如圖所示。p = imread(co

53、ins.png);p0 = imnoise(p, salt & pepper,0.02); %添加椒鹽噪聲H1 = fspecial(average,3 4); %設(shè)計(jì)均值濾波器H1p1 = imfilter(p0,H1,replicate); %用濾波器H1對(duì)圖像p0進(jìn)行濾波p2 = medfilt2(p0,3,3,zeros); %對(duì)圖像p0進(jìn)行中值濾波subplot(2,2,1),imshow(p); %顯示原圖及處理后的圖像subplot(2,2,2),imshow(p0);subplot(2,2,3);imshow(p1);subplot(2,2,4);imshow(p2); 均值濾

54、波和中值濾波(a)原圖像;(b)添加椒鹽噪聲后圖像;(c)均值濾波后圖像;(d)中值濾波后圖像)對(duì)含有噪聲的原圖像進(jìn)行銳化,得到如圖所示圖像。p0 = imread(moon.tif);p = im2double(p0); %將圖像數(shù)據(jù)類型轉(zhuǎn)換為doubleH1 = fspecial(laplacian,0); %設(shè)計(jì)拉普拉斯濾波器H1H2 = fspecial(log,5 5,0.5); %設(shè)計(jì)高斯拉普拉斯濾波器H2hp1 = imfilter(p,H1,replicate); %用濾波器H1對(duì)圖像p進(jìn)行濾波hp2 = imfilter(p,H2,replicate); %用濾波器H2對(duì)圖像

55、p進(jìn)行濾波p1 = p - hp1; %還原灰度色調(diào)p2 = p - hp2; %還原灰度色調(diào)subplot(1,3,1),imshow(p0);subplot(1,3,2),imshow(p1);subplot(1,3,3);imshow(p2);拉普拉斯波和高斯拉普拉斯濾波(a)原圖像;(b)laplace濾波圖像;(c)高斯laplace濾波圖像2.3 圖像的空間變換圖像的空間變換也稱為圖像的幾何變換,是指將用戶獲得或設(shè)計(jì)的原始圖像,按照需要產(chǎn)生大小、形狀和位置的變化。常用的圖像幾何變換包括圖像的縮放、圖像的剪切及圖像的旋轉(zhuǎn)等內(nèi)容。1 圖像比例縮放圖像比例縮放是指將給定的圖像在x軸方向按

56、比例縮放fx倍,在y軸方向按比例縮放fy倍,從而獲得一幅新的圖像。有fxfy和 fxfy兩種情況。比例縮放所產(chǎn)生的圖像中的像素可能在原圖像中找不到相應(yīng)的像素點(diǎn),這樣就必須進(jìn)行插值處理。圖像插值處理常用的方法有兩種,一種是最鄰近插值法,另一種是通過(guò)一些插值算法來(lái)計(jì)算相應(yīng)的像素值。MATLAB中提供了三種圖像插值方法,即最近鄰插值、雙線性插值和雙三次插值。函數(shù)imresize對(duì)圖像進(jìn)行插值縮放,語(yǔ)法格式為: ps = imresize(p, m, method )其中ps為變換后圖像,p為輸入圖像,m放大倍數(shù)(當(dāng)m1時(shí)縮小),method為插值方法的選擇項(xiàng),可選最近鄰插值法(nearest)、雙線

57、性插值法(bilinear)及雙三次插值法(bicubic),默認(rèn)使用最近鄰插值法。另外一種語(yǔ)法格式為: ps = imresize(p, m n, method )其中m和n分別為變換后圖像長(zhǎng)寬。對(duì)liftingbody.png圖像進(jìn)行縮小,其效果如圖所示。p = imread(liftingbody.png);w = input(please input a number:); %交互輸入縮小為0.2倍ps = imresize(p,w); %縮小變換imshow(p);figure;imshow(ps);對(duì)liftingbody.png圖像進(jìn)行縮小前后的效果 (a)原圖像;(b)縮小后拉

58、伸顯示后圖像2 圖像剪切用函數(shù)imcrop交互實(shí)現(xiàn)圖像區(qū)域選取功能,用于剪切圖像中的一個(gè)矩形子圖,可用鼠標(biāo)選取這個(gè)矩形,也可以通過(guò)參數(shù)指定這個(gè)矩形頂點(diǎn)的坐標(biāo)。語(yǔ)法格式為: pc = imcrop(p) 或 pc = imcrop(p, rectangle)其中pc為剪切后的圖像,p為輸入圖像,rectangle為四個(gè)變量指定的一個(gè)矩形區(qū)域,即left bottom width height,數(shù)組中的四個(gè)變量分別表示矩形左下角的橫坐標(biāo)、縱坐標(biāo)、矩形長(zhǎng)度及寬度。對(duì)liftingbody.png圖像進(jìn)行剪切,其效果如圖所示。p = imread(liftingbody.png);pc = imcro

59、p(p,80 180 260 220); %輸入矩形尺度進(jìn)行選取subplot(1,2,1);imshow(p);subplot(1,2,2);imshow(pc);3 圖像旋轉(zhuǎn)圖像的旋轉(zhuǎn)是以圖像的中心為原點(diǎn),將圖像上的所有像素都旋轉(zhuǎn)一個(gè)相同的角度。在圖像進(jìn)行旋轉(zhuǎn)的時(shí)候,各像素的坐標(biāo)必然發(fā)生變化,使得旋轉(zhuǎn)之后不能正好落在整數(shù)坐標(biāo)處,因此同縮放一樣,也需要進(jìn)行插值,插值方法也與縮放的插值方法一樣,完全相同,即可用3種方法對(duì)圖像進(jìn)行插值旋轉(zhuǎn),默認(rèn)的插值方法是最近鄰插值法。通過(guò)函數(shù)imrotate實(shí)現(xiàn)對(duì)圖像的旋轉(zhuǎn),語(yǔ)法格式為: pr = imrotate(p, angle, method) 或 pr

60、 = imrotate(p, angle, method, crop)其中pr為旋轉(zhuǎn)后得到的圖像,p為輸入圖像,angle為指定的旋轉(zhuǎn)度數(shù),參數(shù)method用于指定插值的方法,可選值為nearest(最近鄰法),bilinear(雙線性插值)及bicubic(雙三次插值),默認(rèn)值為nearest。參數(shù)crop允許用戶對(duì)旋轉(zhuǎn)后的圖像進(jìn)行自動(dòng)剪切,使返回的圖像與原圖大小相同。對(duì)liftingbody.png圖像進(jìn)行旋轉(zhuǎn),其效果如圖所示。p = imread(liftingbody.png);angle = input(please input angle:); %輸入旋轉(zhuǎn)角度為45度pr = im

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論