Chapter 4: POINT PROCESSING
4.1 Introduction
影像處理的運作可被分為三類,從最複雜至最簡單:
1. Transforms:
轉換整張圖的pixel灰階值以另一種相等的形式表示。
2. Neighborhood processing:
改變一個給定pixel的灰階值,需要知道pixel周圍一小塊的pixel灰階值。
3. Point operations:
改變一個給定pixel的灰階值,但不需要知道pixel周圍的資訊。
4.2 Arithmetic Operations
最簡單的運算是y=f(x),f(x)範圍是0~255,做加、減、乘、除四種的運算。
‧ y = x+C
灰階值x加一個常數C調整為y時,整張圖偏亮。
‧y = x-C
灰階值x減一個常數C調整為y時,整張圖偏暗。
‧y = x/2
灰階值x除以一個常數2調整為y時,整張圖偏暗。
‧y = 2x
灰階值x乘以一個常數2調整為y時,整張圖偏亮。
‧y = x/2+128
y=x/2的偏暗效果比y=x-128好,減法會導致原本小於等於128的值變成0,損失大量pixel。
y=2x的偏亮效果比y=x+128好。加法會導致原本大於等於128的值變成255,損失大量pixel。
4.3 Histograms
一個灰階的圖片,統計gray level後可以將每個level所擁有的值繪致成一張長條圖(Histogram)。而關於這個長條圖(Histogram)擁有以下幾點特點:
1.dark image的灰階值histogram集中在低的值。
2.uniformly bright image的灰階值histogram集中在高的值。
3. well-contrast image的灰階值histogram分散在各值。
4.3.1 Histogram Stretching(Contrast Stretching)
ex: histogram灰階值5~9的部分擴散至2~14。j= [(14-2)/(9-5)]*(i-5)+2
imadjust(im,[a,b],[c,d]);函數pixel值小於a的都會轉換成c,大於b的都會轉換成d。
關於plot(t,th,'.'),axis tight
我打出plot(t,t,'.'), plot(th,th,'.'), plot(th,t,'.'),當變數相等時,由點構成 y=x 的線
→plot(x,y) 由x值範圍當x軸,y值範圍當y軸
4.3.2 Histogram Equalization
Histogram的均化,讓每個gray level出現的頻率相同,使Histogram平均分布在255個level中。
Page.78
定義一個n=360,把它分成15層→15/360= 1/24,Figure 4.17原本的level在均化後以Figure4.18呈現。
4.4 Lookup Tables
point operation可有效地使用lookup table來表示。
T=uint8(floor(0:255)/2);
b2=T(b);
- 將陣列b的值對照lookup table T裡的值做更改。
t1=0.6667*[0:64];
t2=2*[65:160]-128;
t3=0..6632*[161:255]+85.8947;
T=uint8(floor([t1 t2 t3]));
- 分段式擴散。 T是user所建立的一個table,當gray image的pixel value是,從0~64時,對照t1的算式,65~160,對照t2的算式,161~255,對照t3的算式。
沒有留言:
張貼留言