2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、MATLAB 程式設(shè)計(jì)入門(mén)篇影像顯示與讀寫(xiě),張智星jang@cs.nthu.edu.twhttp://www.cs.nthu.edu.tw/~jang清大資工系 多媒體檢索實(shí)驗(yàn)室,19-1 MATLAB的影像格式,MATLAB 最常處理的影像格式為索引影像(Indexed Images)顯示此類(lèi)型影像的語(yǔ)法如下:image(X)colormap(map)其中X為影像的資料矩陣,map為色盤(pán)矩陣。色盤(pán)矩陣的大小

2、為K×3,每個(gè)橫列由三個(gè)元素所組成,分別是R(紅) 、G(綠)、B(藍(lán)) ,每個(gè)元素的範(fàn)圍為0~1X的值為1~K,也就是當(dāng)X(i, j)的值為p,則像素點(diǎn)(i, j) 的顏色為map(p, :)這一列的值所決定。,顯示索引影像範(fàn)例一,在下例中,我們使用MATLAB顯示內(nèi)建的小丑圖。範(fàn)例19-1:image01.m,load clown.mat% 載入小丑影像資料,含變數(shù) X 和 mapimage(X);% 顯示影

3、像colormap(map)% 取用色盤(pán)矩陣,顯示索引影像範(fàn)例一,顯示索引影像範(fàn)例二,由於由X 是索引影像,因此其最小值是 1, 最大值會(huì)等於 map 的列數(shù)(即「可顯示之顏色數(shù)目」),可驗(yàn)証如下:範(fàn)例19-2 :image02.m,load clown.mat% 載入小丑影像資料,含變數(shù) X 和 mapfprintf('min(min(X)) = %d\n', min(min(X)));fprintf(

4、'max(max(X)) = %d\n', max(max(X)));fprintf('size(map, 1) = %d\n', size(map, 1));,顯示索引影像範(fàn)例二,min(min(X)) = 1max(max(X)) = 81size(map, 1) = 81 由範(fàn)例可知,此小丑影像共含有 81 種不同的顏色。,顯示索引影像範(fàn)例三,要正確地顯示索引影像則需要正確的色盤(pán),以上

5、面的小丑影像為例,如果使用亂數(shù)產(chǎn)生的色盤(pán)則會(huì)產(chǎn)生下面的結(jié)果:範(fàn)例19-3:image03.m,load clown.mat% 載入小丑影像資料,含變數(shù) X 和 mapnewmap = rand(size(map));image(X);colormap(newmap),顯示索引影像範(fàn)例三,顯示索引影像範(fàn)例四,如果我們的色盤(pán)矩陣只有 K 個(gè)橫列,但是 X 的某些元素值小於 1 或大於 K,則我們可以使用imagesc指令將 X

6、的最小值轉(zhuǎn)換成 1,最大值轉(zhuǎn)成 K,其他中間值則依線(xiàn)性關(guān)係轉(zhuǎn)換成介於 1 與 K 的值,舉例如下: 範(fàn)例19-4:imagesc01.m,:,X = peaks;imagesc(X);colormap(gray);min(min(X))% 顯示 X 的最小值max(max(X))% 顯示 X 的最大值,顯示索引影像範(fàn)例四,ans = -6.5466ans = 8.0752具有上述特性的影像資料稱(chēng)

7、為強(qiáng)度影像(Intensity Images),一般經(jīng)由數(shù)值運(yùn)算產(chǎn)生的矩陣均屬此類(lèi),因此均可由 imagesc 來(lái)顯示。,顯示索引影像範(fàn)例五,image 指令亦接受全彩影像(Truecolor Images)。全彩影像可以表示成一個(gè) m×n×3 的矩陣 X,其中 X (:, :, 1) 代表紅色的強(qiáng)度。X (:, :, 2) 代表綠色的強(qiáng)度,X (:, :, 3) 則代表藍(lán)色的強(qiáng)度。 X的值的範(fàn)圍可以是下列兩種:介

8、於0~1的浮點(diǎn)數(shù)或是0~255的uint8(詳見(jiàn)本章第三節(jié)) ,舉例來(lái)說(shuō):範(fàn)例19-5:image04.m,X = imread('annie19980405.jpg');image(X)size(X),顯示索引影像範(fàn)例五,ans = 480 640 3,19-2 影像的顯示與列印,MATLAB 在顯示影像時(shí),會(huì)將之置於預(yù)設(shè)的圖軸之中,並以此圖軸的長(zhǎng)寬比來(lái)成像,因而造成影像的失真。若要以影像本身的

9、長(zhǎng)寬比來(lái)成像,可加入 axis image,如下: 範(fàn)例19-6:image05.m,load mandrill.mat image(X);colormap(map);axis image,以原影像長(zhǎng)寬比例顯示範(fàn)例,將影像對(duì)應(yīng)到螢?zāi)簧系狞c(diǎn)的範(fàn)例,若要使影像資料的每一點(diǎn)對(duì)應(yīng)至螢?zāi)簧系囊粋€(gè)像素(Pixel),可輸入如下: 範(fàn)例19-7:image06.m,load mandrill.mat[m, n] = size(X);fi

10、gure ('unit', 'pixel', 'position', [200, 200, n, m]);image(X);colormap(map);set(gca, 'position', [0, 0, 1, 1]);,範(fàn)例:將影像對(duì)應(yīng)到螢?zāi)簧系狞c(diǎn),此範(fàn)例產(chǎn)生圖形如同前一個(gè)範(fàn)例,如果你的螢?zāi)唤馕龆容^低,圖形會(huì)變大。上述範(fàn)例程式碼中, figure 的 ‘posi

11、tion’ 性質(zhì)為 [200, 200, n, m],代表視窗的左下角位置是 [200, 200](以 pixel 為單位),而視窗的寬度為 n,高度為 m,正好可以符合影像的大小。gca 傳回使用中的圖軸,最後一個(gè)敘述將圖軸的位置設(shè)為整個(gè)視窗的大小,使用了正規(guī)化的單位 。,19-2 影像的顯示與列印,在列印影像時(shí),MATLAB 會(huì)根據(jù)視窗的 Paper position 性質(zhì)來(lái)調(diào)整圖形的長(zhǎng)寬比,使得印出的影像再度變形。欲防止情況,可

12、用下列指令:>>set(gcf, 'PaperPositionMode', 'auto') 若要使 Paper Position Mode 的預(yù)設(shè)值就是“auto”,可在 startup.m 檔案中加入下一行:set(0, 'DefaultFigurePaperPositionMode', 'auto'),19-3 8-bit影像,在 MATLAB

13、第 5 版之後,提供了 uint8 的資料型態(tài)。由於 uint8 只有 8 個(gè)位元,所以能表示的數(shù)值範(fàn)圍為 0 至 255(=28-1) 之間的整數(shù) 。,8-bit影像範(fàn)例,由於 8-bit 影像資料的最小值為 0,和一般的雙精準(zhǔn)索引影像資料相差 1,因此在兩種資料相互轉(zhuǎn)換時(shí),要特別小心。例如:範(fàn)例19-8:uint801.m,load clown.matZ8 = uint8(X-1);% 將 X-1 轉(zhuǎn)成 uint8 的資料

14、型態(tài) close all% 關(guān)掉所有的圖形視窗 image(Z8)colormap(map),8-bit影像範(fàn)例,19-3 8-bit影像,若要將 8-bit 影像轉(zhuǎn)回雙精準(zhǔn)影像,可輸入如下:>> Z64 = double(Z8)+1; uint8 資料型態(tài)亦可用於全彩影像資料,此時(shí)每一像素的原色(R,G 或 B)範(fàn)圍為 0 至 255 間的整數(shù),而不再是 0 至 1 的實(shí)數(shù)。,19-3 8-bit影像

15、,欲將雙精準(zhǔn)的全彩影像轉(zhuǎn)作 uint8 資料型態(tài),可輸入如下:>> RGB8 = uint8(round(RGB64*255)); 其中 RGB64 為雙精準(zhǔn)的全彩影像資料,而 RGB8 則是 unit8 的 8-bit 影像資料。反之,若欲進(jìn)行反轉(zhuǎn)換,可輸入如下:>> RGB64 = double(RGB8)/255; 關(guān)於影像類(lèi)別及其資料型態(tài)的關(guān)係,可見(jiàn)下表:,影像類(lèi)別及型態(tài)關(guān)係表,19-4 影

16、像檔案的讀取與寫(xiě)入,imread 指令可用於讀取影像檔案。imwrite 則可用於寫(xiě)入影像檔案。這兩個(gè)指令可以處理的影像格式有下列幾種:,imread及imwrite支援的格式,19-4 影像檔案的讀取與寫(xiě)入,imread 指令可以讀取上述格式的影像檔案,並進(jìn)行必要之轉(zhuǎn)換,如下:對(duì)於強(qiáng)度影像,imread 將資料以 uint8 的矩陣(大小為 m×n)傳回。對(duì)於索引影像,imread 將資料以 uint8 的矩陣(大小

17、為 m×n)傳回,並同時(shí)傳回一個(gè)雙精準(zhǔn)的色盤(pán)矩陣,其每個(gè)元素值介於[0,1]。對(duì)於全彩矩陣,imread 將資料以 uint8 的矩陣(大小為 m×n×3)傳回。,使用imread讀取全彩jpg影像,imread 可讀出下列全彩影像:範(fàn)例19-9:uint802.m,RGB = imread('simulinkteam.jpg');image(RGB),使用imread讀取全彩jpg影

18、像,影像檔案寫(xiě)入範(fàn)例,imwrite 指令可將資料寫(xiě)成影像檔如下:範(fàn)例19-10:imwrite01.m上述最後一列敘述將會(huì)呼叫 Windows 作業(yè)系統(tǒng)下的應(yīng)用程式來(lái)開(kāi)啟 myClown.jpg 檔案。,load clown.matimwrite(X, map, 'myClown.jpg'); !start myClown.jpg,19-4 影像檔案的讀取與寫(xiě)入,imfinfo 指令可用於傳回影像檔案的各

溫馨提示

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

評(píng)論

0/150

提交評(píng)論