2008年10月23日 星期四

Chapter 3心得

這週進入第三章了,感覺越來越難了。所以照著課本上面的指令打一次!!!



3.2 Basics of Image Display

顯示圖像在電腦時,會有以下因素影響輸出:

1.Ambient lighting(環境光源)

2.The monitor type and settings(螢幕的類型和設定):LCD和CRT的差異。

3.The graphics card(顯示卡):將畫面顯示在電腦螢幕上

4.Monitor resolution(螢幕解析度):是使用者在螢幕上看影像時,所感受到的解析度。螢幕解析度由Display Card所決定的,並不是由螢幕所決定。螢幕解析越高,你在螢幕上所見的影像更細緻,色彩更為逼真。

Matlab中,基本的影像輸出函數--image()
是很基本的函數,用函數輸出圖片




如果要避免灰階圖片的錯誤,就要加入以下的指令:

1.truesize:顯示圖片時,顯示實際大小。

2.axis off:顯示圖片時,會把顯示旁邊的長度和寬度表關掉。

3.colormap():用size(unique(c))來查詢正確的值



image(c),truesize,axis off,colormap(gray(247))

‧colormap(gray()),gray()輸入512會變暗,而輸入128會變亮。



3.3 The imshow function
一開始是正常輸出,double()之後輸出的顯示為白色的。但我用的是彩色的圖片,所以並不會完全都是白色的。





‧後面再將轉成double的變數除以255顯示圖片會還,除以 512顏色會偏暗,除以128顏色會偏亮。


P.46,P.47看太不懂。照書本上寫的去做,但是不懂uint8函數的輸出和double()輸出的哪不同?


3.4 Bit Planes

灰階影像按照bit planes分割後,就可以轉換為一系列的二元影像。先將一個灰階影像轉換成double型態的矩陣,然後將cd矩陣除以2的連續次方,就可以分割位元平面,捨去餘數,看最後位元是0或1。如果是較高的位元,輸出的影像跟原本比較類似。取的位元越低時,影像就會越來越模糊。


c0=mod(cd,2);




c7=mod(floor(cd/128),2);



3.5 Spatial Resolution

spatial resolution是整張圖pixel的密度。spatial resolution越大,越多pixel被拿來顯示圖片。


(imresize(imresize(x,1/4),4))


(imresize(imresize(x,1/32),32))



3.6 Quantization and Dithering

Quantization:一張圖的灰階數。大部分的圖片有256灰階。減少灰階數的方法是將灰階數減少至n個。

‧f=floor(double(x)/64); 將256階減少為4階。

‧grayslice(x,n);建立一個值被減少至0,1,...,n-1的矩陣。

‧gray(n);建立一個介於0~1.0有n個間格的color map。


Dithering:減少圖片顏色的處理。顏色數量有限制或印刷都需要Dithering處理。

Dithering for 量化成兩種灰度
1.一個標準比較用單位矩陣D [ 0 128
              192 64 ]
2.比較方法:p(i,j)={1 if(x(i,j)>d(i,j))
         0 if(x(i,j)<=d(i,j)) } Error Diffusion:原灰階值與量化後的灰階值之間會有一些error。

由Floyd與Steinberg提出的方法:
1. Perform the quantization.
2. quantization error。
3. 擴散error至右邊下方的pixel。



第三章真的很難。

沒有留言:

張貼留言