Presentation is loading. Please wait.

Presentation is loading. Please wait.

第三章 影像顯示 3.1 前言 看看空間解析度和量化會如何影響影像的顯示,尤其是影像品質的部分,各種影像的屬性如何影響到顯示的品質。

Similar presentations


Presentation on theme: "第三章 影像顯示 3.1 前言 看看空間解析度和量化會如何影響影像的顯示,尤其是影像品質的部分,各種影像的屬性如何影響到顯示的品質。"— Presentation transcript:

1 第三章 影像顯示 3.1 前言 看看空間解析度和量化會如何影響影像的顯示,尤其是影像品質的部分,各種影像的屬性如何影響到顯示的品質。
第三章 影像顯示 3.1 前言 看看空間解析度和量化會如何影響影像的顯示,尤其是影像品質的部分,各種影像的屬性如何影響到顯示的品質。 人類的視覺大致都比較喜歡銳利而精細的影像。 許多因子都會影響到顯示效果,包括: 環境照明。 顯示器類型與設定。 顯示卡。 顯示器解析度。

2 3.2 影像顯示的基礎 這個函數的作用就是將矩陣顯示為影像 image 指令是以色譜來指定矩陣元素的顏色。

3 3.2 影像顯示的基礎 要適當地顯示出影像,就必須在image 這個指令外加上幾個額外的指令。

4 3.2 影像顯示的基礎 我們也可以調整色譜顏色的多寡,不過這可能會大大影響顯示效果。

5 3.2 影像顯示的基礎 image 指令也可以顯示索引色彩影像,不過要記得在imread 中讀入色譜:
3.2 影像顯示的基礎 image 指令也可以顯示索引色彩影像,不過要記得在imread 中讀入色譜: tmap 是 一<256×3 double>的data >> [t, tmap]=imread(‘trees.tif’); >> figure, image(t), truesize, axis off, colormap(tmap)

6 3.2 影像顯示的基礎 至於全彩影像,imread 指令會將之讀取為3D 陣列
3.2 影像顯示的基礎 至於全彩影像,imread 指令會將之讀取為3D 陣列 image 指令則會忽略設定的色譜,直接使用陣列中的顏色值來顯示色彩。 >> a=imread(‘autumn.tif’); >> figure, image(a), truesize, axis off

7 3.3 imshow 函數 顯示Matlab影像處理指令所輸出的矩陣(通常是double形態)有兩種選擇: 轉換為uint8 形態並顯示。
直接顯示矩陣。 只要矩陣元素介於0 與1 之間,imshow 就可以將double形態的矩陣正確地顯示成灰階影像。

8 圖 3.1 >> ce=imread(‘cell.tif’); >> ced=double(ce);
圖 3.1 >> ce=imread(‘cell.tif’); >> ced=double(ce); >>imshow(ced) >>imshow(ce) >>imshow(ced/255) >>imshow(ced/512) >>imshow(ced/128)

9 3.3 imshow 函數 使用im2double 函數便可將原始影像更正確地轉換成double 形態
若將double 形態的影像cd 的數值適當的調整於0 至1 之間,就有兩種方法將之轉換回uint8形態的影像: >> ced1=im2double(ce); >> imshow(ced1) >> ce1=uint8(255*ced1); >>ce2=im2uint8(ced1);

10 3.3 imshow 函數 MATLAB沒有這種二元資料形態,不過可以使用邏輯(logical)旗標,將uint8的數值0 與1 解讀成邏輯資料。 若用whos指令檢查所有的變數,結果會包含下面這一行:

11 圖 3.3 >> imshow(cl) >> imshow(uint8(cl))

12 3.4 位元平面 灰階影像按照位元平面(bitplanes)分割後,就可以轉換為一系列的二元影像。 第0 個位元平面 第八位元平面
3.4 位元平面 灰階影像按照位元平面(bitplanes)分割後,就可以轉換為一系列的二元影像。 第0 個位元平面 最低位元平面(least significant bit plane) 第八位元平面 最高位元平面(most significant bit plane)

13 3.4 位元平面 先將一個灰階影像轉換成double形態的矩陣,也就是進行下列運算:

14 圖 3.4 最低位元平面(least significant bit plane)
圖 3.4 最低位元平面(least significant bit plane) 最高位元平面(most significant bit plane)

15 3.5 空間解析度 空間解析度意指影像像素的密度,空間解析度越高,用來顯示影像的像素越多。
3.5 空間解析度 空間解析度意指影像像素的密度,空間解析度越高,用來顯示影像的像素越多。 用MATLAB 的imresize 函數可以用來實驗空間解析度變化的影響。 >> imresize(x,1/2);

16 3.5 空間解析度 >> x2=imresize(imresize(x,1/2),2); Pixelization 像素化效果

17 圖 3.5

18 圖 3.6

19 圖 3.7

20 3.6 量化與混色 量化(quantization)是指用來顯示影像的灰階數目。 均勻量化(uniform quantization)
3.6 量化與混色 量化(quantization)是指用來顯示影像的灰階數目。 均勻量化(uniform quantization) 第三章 影像顯示 第58頁 圖3.8

21 3.6 量化與混色 運用MATLAB 進行上述映射,可以使用下列指令。假設x 為uint8形態的矩陣:
3.6 量化與混色 運用MATLAB 進行上述映射,可以使用下列指令。假設x 為uint8形態的矩陣: 然而,要減少影像的灰階數還有一個更好的方法,就是使用grayslice函數。

22 圖 3.9

23 圖 3.10

24 圖 3.11

25 圖 3.12 均勻量化最明顯的效果便是輪廓失真,灰階數越少越明顯。

26 3.6 量化與混色 混色(dithering) 簡單來說,混色就是減少影像色彩數目的過程。
3.6 量化與混色 混色(dithering) 簡單來說,混色就是減少影像色彩數目的過程。 將影像用兩種色調表示的方法也稱為半色調(halftoning)。 混色矩陣(dither matrix) 重複這個矩陣到和原影像矩陣一樣大。

27 3.6 量化與混色 假設d(i, j) 是重複D 之後得到的矩陣,則輸出像素p(i, j)便定義為:

28 圖 3.14

29 3.6 量化與混色 二個灰階值以上的影像也可以使用混色法產生。 舉例來說,若想量化成四個輸出層次0、1、2 及3 。
3.6 量化與混色 二個灰階值以上的影像也可以使用混色法產生。 舉例來說,若想量化成四個輸出層次0、1、2 及3 。 (由於 255/3 = 85)

30 圖 3.15 >> D = [0 56; 84 28]; >> r = repmat(D, 128, 128);
圖 3.15 >> D = [0 56; 84 28]; >> r = repmat(D, 128, 128); >> x = double(x); >> q = floor(x/85); >> x4 = q+(x-85*q>r); >> imshow(uint8(85*x4)) >> D = [0 24; 36 12]; >> r = repmat(D, 128, 128); >> x = double(x); >> q = floor(x/37); >> x8 = q+(x-37*q>r); >> imshow(uint8(37*x8))

31 3.6 量化與混色 誤差擴散法(error diffusion) 最常用的方法是由Floyd 和Steinberg 發展出來。
3.6 量化與混色 誤差擴散法(error diffusion) 將影像量化成兩個層次。 我們考慮要每一個像素的灰階值及其量化值之間的誤差。 所謂的誤差擴散法就是將誤差分散到鄰近的像素。 最常用的方法是由Floyd 和Steinberg 發展出來。 影像中的每個像素p(i, j) 都會執行下列步驟: 進行量化 計算量化誤差。定義為:

32 3.6 量化與混色 根據右表將誤差E 往右往下擴散: 第三章 影像顯示 第65頁

33 圖 3.17

34 圖 3.18


Download ppt "第三章 影像顯示 3.1 前言 看看空間解析度和量化會如何影響影像的顯示,尤其是影像品質的部分,各種影像的屬性如何影響到顯示的品質。"

Similar presentations


Ads by Google