2008年11月21日 星期五
ch4
這節是在說image-operation大概可以分成這三種,下列是從複雜到簡單的
1. Transforms
最複雜的一種方法,看圖就知道,不過說實在的那張圖也沒說得很清楚步驟裡面到底要怎弄,只知道先把圖轉換,然後變成轉換的圖,然後做影像處哩,再來就變成處理過的轉換圖,再來反轉,叮咚叮咚!!完成了,中間步驟會不會省略太多..該不會是中間過程就是要給電腦做的,我們瞭解不能!?
2. Neighborhood processing.
3. Point operations
4.2
影像的數學運算
通常做這些運算是為了改善影像的品質或者是偵測影像的內容
Imcomplement(x)計算影像X的補數,以X的互補色來顯示圖形,效果就會跟照片裡的負片一樣
Imadd(x,y),加法
Imsubtract(x,y),減法在原文書裡面好像只是讓圖片顏色變深而已,可是在另一本裡似乎有說如果拿兩張圖片相減,可以看出兩張圖片的不同,
Immultiply(x,y),乘法,如果將兩張影像相乘,可以讓影像表現較銳利!?
Imdivide(x,y),除法
4.3
影像直方圖可用來表示在每一個色階裡存在有多少個像素,如果像素值大部分集中在黑色階,那圖形就會變暗,反之亦然,如果沒有用到全部的色階,就會產生對比不足,如果有這情況,必須用imhist(x)叫出直方圖,然後再使用histeq(x)來做等化,這樣那張圖如果偏暗,做等化之後直方圖分布就會比較平均,圖就會比較清楚
4.4
LUT
似乎是一個可以讓執行速度加快,也就是先把所有的東西算好之後存起來,然後下次如果要用到這些資料,就可以直接從表裡面找到,不用每次都計算,這個可以運用到很多東西上
CH4
介紹影像分三種處理方式:
1. Transforms : 是允許一些有效率而且強大的演算法處理影像時,似乎經過了一連串的轉換之
後變成原始的圖片
2. Neighborhood processing(鄰域處理) : 改變像素的灰階程度與周圍的像素值利用其灰階pixel
進行改變
3. Point operations : 與Neighborhood processing不同不用理會周圍的pixel影像的灰階值運算
是獨立的而影像處理時比較常用到Point operations
4.2 Arithmetic Operations
imadd(x,y)對圖像做加法運算-影像變亮
imsubtract(x,y)為減法運算-影像變暗
imdivide(x,y)對圖做除法運算-變亮
immultiply(x,y)對圖做乘法運算-變暗
4.3 Histograms(長條圖)
能夠用直方圖的方式顯示圖片色彩所占的比例
指令方面看不太懂,跟灰階值有關吧...?
ch4
1.transforms 把圖片轉換成Transformed image, 之後經由一些製作過程轉成
Processed transformed image, 之後再反轉成原本圖片格式
2.Neighborhood processing
改變圖片的灰階程度與周圍的像素值, 利用pixel來改變
3.Point operations
獨立的灰階值, 沒有影響他的其他點
4.2 Arithmetic Operations
像素的運算, y=f(x), 範圍為0-255,
有加-imadd(x,y)、減-imsubtract(x,y)、 乘-immultiply(x,y), 除-imdivide(x,y)
4.3 Histograms
統計色階以觀察顏色分佈
Histogram Stretching是長條圖
ch4
介紹IMAGE轉換
成有效率和有次方的演算法
課本的這張圖
讓我想到恐怖的"線性代數"
哈也
不知道跟他有沒有關
4-2
算術運算
在做運算
+ - x /的時候
Y值的範圍一定要再0~255
而數值越高圖片會越亮
數值越低則會越暗
運算指令
imadd(A,B)A+加B
imsubtract(A,B)A-B
immultiply(A,B)A*B
imdivide(A,B)A/B
4-3 4-4
看的好眼花一推恐怖的方程式
好像裡面有講到指令histeq
把圖片變直方圖
可是卻不太了解這些圖形真真的意義所在
大概只看的懂這些
英文程度真差
哀!
2008年11月20日 星期四
2008年11月14日 星期五
HW4 POINT PROCESSING
4.1 INTRODUCTION
任何影像圖都是由灰階值轉換出來的
然而,影像處理分成3種基本的資訊顯示
它由簡單到複雜為:
Transforms>>Neighborhood processing>>
Point operations Transforms
就像4.1的圖 影像 透過轉換-> 改變影像 透過影像作用過成->
影像被改變過程 逆轉變-> 原本的影像
Neighborhood processing
想改變我們在一個映像點灰階
需要知道灰階在特定映像點附近一個特定
映像點的灰階
Point operations
映像點灰階值被改變,
不用它的周圍任何知識
雖然點操作是最簡單的,他們包含某些最強有力,並且用途廣泛
所有圖像處理過程他們是特别有用的在圖像預處理,要求圖像修改,
在主要工作試圖之前
4.2 ARITHMETIC OPERATIONS
這是adding and subtracting or multiplication
and division的4則運算
重圖4.3 and 圖4.5 可看出,加法是圖像變亮過量可能會看不清楚,
減法是圖像變暗過量可能變得一片黑,乘法是變亮越亮感覺線條
分得越清楚越容易變認,除髮則變暗
4.3 HISTOGRAMS
给出灰色極譜圖像,它的直方圖包括它的灰级;
那是,它是表明的圖表次数每灰级在圖像發生
dark image->the gray levels would be clustered
at the lower end
uniformly bright image->the gray levels would be
clustered at the upper end
well-contrasted image->the gray levels would be well
spread out over much of the range
imhist這個功能是來統計灰階影像中,
各種灰階值有幾個pixel,
直方圖是以組別為橫軸,
次數或者密度縱軸所繪出來的統計圖。
他類似長條圖,但可一組借來計算落於該區間之內的資料數,
且直方圖裡長方形的高度雨落於該組界內的資料數成正比。
Chapter4
4.1
影像處理最基本的就是點的處理,主要分成三種:
- Transforms:將像素值改變,但是與原本的形式相同。轉換的方式:先將圖片轉換格式(嗎),然後對轉換過的圖片作處理,再轉回原來圖片的格式(嗎)。它可以作一些運算。
- Neighborhood processing:對被給予的pixel改變其灰階層的值,而我們只需要知道其附近的pixel灰階層的值就可以對該pixel作改變。
- Point operations:與Neighborhood不同,不用去瞭解周圍的pixel,直接對pixel作改變。
4.2
在講解的即是如何利用operations對灰階層作運算,改變其值。p.69底下使用陣列為double的格式大致說明了影像的補集:double分部範圍為0.0~1.0,圖像補集即是用double最大值1.0去減每個pixel。
4.3
- 4.3.1
histogram:將每個灰階值所出現的次數做統計。使用語法:imhist(x)
imadjust(a,b,c,d):將a的灰階值分布拉寬,c是整體分布範圍的變化,對其作的是將全部的灰階值擠到給定[x,y]區間,d是對分布區間寬度作變化,把灰階值拉寬的樣子。b的部份我就理解不能了。
後面4.4的部分依舊不太瞭解...
CH4
Point Processing
Image-processing divided into three classes:
1.Transforms:
=>A transform represents the pixel values in some other, but equivalent form.
(將像素值轉換為其他數值但是等效的格式)
=>allow for some very efficient and powerful algorithms
(允許一些功能強大又有效的電腦程式或數學的處理流程)
2.Neighborhood processing:
=>改變像素的灰階程度與周圍的像素值有關
3.Point operations:
=>A pixel’s gray value is changed without any knowledge of it’s surroundings.
=> Point operations are the simplest
=>contain some of the most powerful and widely used of all image-processing operations.
(在所有影像處理運作運算上Point operations含有一些強大且廣泛的使用)
Arithmetic Operation
=>確定數值範圍為0~255時可改變輸出的影像亮度
=>(1)利用一簡單公式y=f(x) (其中f(x)含有數值範圍為0~255)
=>(2)將其公式進行相加或相減一固定數值y=x+(或-)C
=>(3)或是乘一固定數值y=Cx
=>(4)”clipping”~修剪數值為
=>取得結果數值將會被調高
(當加128則127以上或等於127的數字均變為255 ,減128則小於128或等於128的數值變為0) =>課本P67頁Fig.4.2
使用語法
b=imread('blocks.tif');
b1=b+128;
(沒有錯誤!!@@,版本又不同了嗎?是因為比課本新版嗎??)
當使用b1=uint8(double(b)+128)
結果相同沒錯誤
相加想減數值可使用下列語法
b1=imadd(b,128); %相加語法
b1=imsubtract(b,128) %相減語法
上面兩個也可以使用於兩張圖的相加以及相減
x=imread('rice.tif');
y=imread('engineer.tif');
xy=imadd(x,y); %兩張圖相加
figure,imshow(x),figure,imshow(y)
imshow(xy)
(以上為使用的圖X(左),Y(右))
(相加後的圖XY,很明顯看出結果)
這時候查看圖的數值(好像也是直接超過255就等於255 ,跟我以前在圖書館借的一本講影像的書說的不同=>那邊是說相加以後由0~255轉為0~510,因此需將0~255跟0~510兩個對照取新的數值出來)
在Arithmetic Operation上有講到相乘相除的方法
在MATLAB則可直接使用相乘相除,或使用語法
相乘: (亮度變亮)
bb=immultiiply(b,2);
或
bb=b*2;
相除: (亮度變暗)
bb=immultiiply(b,0.5);
或
bb=b/2;
(均使用immultiiply語法)
Complement(補數):(簡單講就是負片)
=>A grayscale image is its photographic negative.
MATLAB語法:(設圖片陣列為m)
當圖片格式為double時(圖片數值範圍為0.0~1.0)
>>1-m;
圖片格式為binary時可使用
>>~m;
圖片格式為uint8可使用
>>bb=imcomplement(b);
Histograms(直方圖;析示圖<=析示圖的說法很少看到)
=>A graph indicating the number of times each gray level occurs in the image(顯示在圖片裡面各灰階值出現的次數)
=>We can deduce a great deal about the appearance of an image from its histogram.
(我們從直方圖可以推導出圖像顯示的灰階度分配狀況)
=>(1)dark image:
主要分布在直方圖的低數值區
=>(2)bright image:
主要分布在高數值區
=>(3)well-contrasted image:
各灰階度數值均勻分布
可利用語法
>>imhist(b) %此為使用圖的語法,當不是使用圖形陣列時(其他數直處理時使用hist)
(課本中加上的axis tight為將圖X軸Y軸弄得較密一點,可使數值較確實呈現,不易有因為超過座標軸範圍而遺漏的部分)
Histogram Stretching(Contrast Stretching)
=>看不太懂i如何轉換為j的(應該說是看不懂公式如何來的)
=>indicates an image with greater contrast than the original
(轉換後的圖像會比原圖有更高的對比)
語法imagjust
=>可增加圖像之對比,使圖像變得更為清楚
>>x1=imadjust(x),imshow(x1),figure,imshow(x)
(左圖為原圖影像,右圖為使用imadjust增加對比程度的圖)
(後面解釋的還不太清楚,後來看懂以後補上)
對比相關介紹網址:
http://zh.wikipedia.org/w/index.php?title=%E5%B0%8D%E6%AF%94%E5%BA%A6&variant=zh-tw
直方圖均衡化相關網址:
http://zh.wikipedia.org/w/index.php?title=%E7%9B%B4%E6%96%B9%E5%9B%BE%E5%9D%87%E8%A1%A1%E5%8C%96&variant=zh-tw
目前看到課本P74,剩下後來補上!!
11/14
這禮拜老師講解了一些關於第四課的內容,因此不懂的地方也得以解決,像是Histogram Stretching是將對比變明顯,使用方法即是自行設計一個新的拉寬之範圍(如圖fig 4.9<=此為自訂),並計算出新的各數值分布 imadjust指令使用方法 =>imadjust(im,[a,b],[c,d]); %參照fig 4.10改成對比較高的影像
不過此語法不能變成像fig 4.9那樣(小於a的數值以及大於b的數值線性增加),只能像fig. 4.10那樣低於a變成c或是大於b的數值變成d(平行)
當使用的起始點a,b或是c,d為[0,1]=>則縮寫為[](課本中使用imadjust(im,[],[])基本上沒任何效果=>等於沒變)
使用imadjust(im,[],[1,0])時,出現的結果則是原來圖的相反結果
x=imread('emu.tif');
x3=imadjust(x,[],[1,0]);
imshow(x),figure,imshow(x3)
figure,imshow(x1)
圖左為c,d使用[1,0]所產生的結果,圖右為原圖
gamma:
=>describes the shape of the function between the coordinates (a,c) and (b,d)
(描述座標(a,c)到(b,d)的形狀)
=> a linear mapping is used( gamma=1)
=>concave downward (gamma<1)>concave upward(gamma>1)
公式為:
公式中的1/r即為gamma (這邊還不是很懂,只是跑一跑以後看到是這樣的結果)
Ex:
x=imread('emu.tif');
x4=imadjust(x,[],[],0.5);
imshow(x),figure,imshow(x4)
figure,plot(x,x4,'.'),axis tight
(x軸只到63=>x的最大值為63)
當r>1時
x5=imadjust(x,[],[],2);
figure,imshow(x5)
figure,plot(x,x5,'.'),axis tight
(x5明顯變黑)
A PIECEWISE LINEAR-STRETCHING FUNCTION
(分段線性拉伸函數?)
=>建置histpwl
=>利用find找出符合所設置各區段a、b的數值位置並利用下方公式來進行轉換,求出新的分布
Histogram Equation(直方圖等化)
=>Sometimes a better approach is provided by histogram equalization
=>entirely automatic procedure
=>The idea is to change the histogram to one that is uniform. (change=>every bar is same height)
=>
histeq語法
利用總灰階值與各灰階值出現總次數相除((L-1)/n),取得每一區塊占的數量
(ex 課本p78 =>15/360=24 =>每個區域24個數量並以此區分(參考P78表格))
imdivide 語法
=>imdivide(im,n)
=>將im中的數值除以n值
(課本P80那邊用imdivide好像沒甚麼作用(跑出來圖片是一樣的)<=直接用histeq就好了吧@@) Lookup Tables(LUF, 查找表): =>point operations can be performed very effectively
=>利用LUT將索引號跟輸出值做比對,不需計算直接取得計算過的值
=>在較複雜計算過程上比較有用,如果使用的算式太過簡單,則會占過多空間。
LUT相關介紹:
http://zh.wikipedia.org/w/index.php?title=%E6%9F%A5%E6%89%BE%E8%A1%A8&variant=zh-tw
心得與討論
(1)期中考結束以後開始進入報告地獄,事情會越來越多,有點擔心看不看的完(要開始要進行短時間看完一課的情況了)
(2)大致算是看完了,這次後面有一些看不太懂了,但是經過老師的導讀後,目前是沒問題
ch4
ch4
4-1 Introduction
image-processing 有分三類:
1.Transform 轉換像素值,但還是相同的形式。
2.Neighborhood processing 在我們想要的像素去改變
gray level在它鄰近的像素, 而我們只需要知道gray level。
3.Point operations 考慮本身色彩 4-2 Arithmetic Operation
>> b=imread('lion.bmp');
>> whos b
Name Size Bytes Class Attributes
b 500x375x3 562500 uint8
這部分如指令秀出lion.bmp的 name size byte class Attributes
>> b1=b+128
會出現error,是因為uint8 的資料型態只適用於data storage。
解決方法有兩種:
1.>> b1=uint8(double(b)+128);
2.>> b1=imadd(b,128);
有加法,而減法的使用也一樣。
>> b2=imsubtract(b,128);
之後則顯示b1 and b2的圖,可以很明顯看到兩張圖的不同。
>> imshow(b1),figure,imshow(b2)
還有乘法、除法
>> b3=imdivide(b,2) y=x/2>> b4=immultiply(b,2) y=2x
取補數>> bc=imcomplement(b);
4-1、4-2在做image-processing介紹,
其實從課本上的圖也可以清楚了解內容。
4-2則是運用了四則運算。大致都可以懂得。
4-3 Histogram
是在說把影像用統計圖來顯示,是以長方條表示的統計圖,
這樣就可以很清楚的知道對比顏色。
指令為 imhist()就會出現直方圖了。
imadjust() 為對比調整函數,用來調整灰階值或顏色,
不過裡面的數值不知要如何填。還有4-4的LUT部分還是不太懂。
2008年11月13日 星期四
Chapter 4_point processing~
大概是說影像處理的手段,
是把影像的資訊從原本較複雜的轉成較簡單的.
我想這樣的簡化,
應該也能使影像處理演算法的可執行性及可處理範圍也能提高或加大吧!
不過令我感到疑惑的是,
影像處理是只處理灰階的嗎?
因為4.1第一行就有提到.
"Any image-processing operation transforms the gray values of the pixels."
在我看來是說,轉成灰階的pixel吧!
所以是說只對轉成灰階的pixel,再作處理嗎?(RGB不行嗎??)
課文有提到image-processing operation分成三類.
至於是哪三類我就不多說了,
大家都看過課文,
應該有一定程度上的瞭解.
(其實是你自己也擔心解釋不清楚吧!!)
4.2 ====================
這裡提了些簡易的數學方程式.
除了讓圖像變亮變暗(作調整),
還有變換為互補色的. (好像也稱為"負片")
(型態不同,範圍也不一樣.)
例如:
double[0.0,1.0]
uint8[0,255]
看是要1-x還是255-x來取補數.
(我覺得補色的部分,比較有趣些.)
4.3 ====================
這節是對於整體明暗度(亮度)相當接近的圖像作處理.
(因為是使用灰階的pixel,所以我將圖像顏色的值,直接稱為明暗度或亮度.)
人類對於明暗度接近的圖像,
可能會看不清楚(或無法辨識).
而且通常這種時候,輪廓線應該也看不清楚.
這裡主要的處理就是將明暗度間距拉大.(histogram的圖可見)
(指暗的更暗,亮的更亮.)
如此一來可以提高鑑別度.(可以看得比較清楚.)
由課本上的例圖,可以略知一二.[ex:FIGURE 4.12]
不過這節還有很多地方我看不懂,
好比說:
[p.75]
A piecewise liner-stretching function ,
(對於突然生成figure 1.14 ,我實在不太能接受.)
而且,
我也覺得[p.74]突然冒出線性方程式很奇怪.
我較想知道這麼使用的原因.
[p.81]
why to works
(礙於在下的愚鈍,該內容還沒有完全參悟.)
可以的話,希望老師可以在課堂上講解4.3一下.
--------------------------------
[p.72]
piecewise
硬要翻的話,
應該是以片段的資料運算.
piecewise linear funtion
在[知識+]上,也有這樣的解釋.
[p.72]
我一直誤會課本上的描述.
一直以為是由figure 4.9的左圖用下方的線性方程式,
來繪成figure 4.9的右圖.
範圍[5,9]可由figure 4.9的左圖,
雖然可看出是較集中資料片段的範圍.
可是2和14我就無法由figure 4.9的histogram(左圖)來推敲出.(我想超久的...)
跑去問老師後,
才知道[2,14]是作者希望延展的範圍.
其實就算換成[1,14]也無所謂.
(原來是我完全想反了...orz)
不過它展開的間距(聽老師說),
好像跟它原本的資料量有關.
ex:[p.73]的下圖,
延展到index:4 的資料量相較其他資料量長很多,
所以4後面的間距也較其他的寬.
不過index:8和index:11
雖然11的資料量較長,
不過礙於格線已經限制住,
所以間距已無法和8的有差別.
因此這種作法,還是會產生誤差吧!!
4.4 ====================
lookup table(LUT)??
看似也是轉換成較簡單資料的工具.
--------------------------------
課本上是把index[0,255]除以2
又用一個table來存.
範圍就變成[0,127]
以索引的方式來取回原值.
這是上次上課老師講解時,
我所接收到的資訊.
(P.S. "-------"以下的文字敘述為本週附加的補充)
Chapter 4心得
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的算式。
ahhhhh
目前看不懂的是PG.59~61的那些方格裡面的東西
Error Diffusion(誤差擴散) 誤差擴散法在數據處理中常常會碰到 尤其是用於影像處理中 降低色彩的深度 通常我們在遊戲中會用在 把彩色轉成單色 因為方法蠻多的 也可以找到不少演算法 不過誤差擴散算是一種不錯的方法 甚至有些印表機也會用:P 值得學習
網路上找到的解釋
可是還是不懂
把彩色轉成單色<-什麼意思? 轉換成灰階嗎? WIKI說法好像和他說的有所出入
還是我誤解了他的意思?
CH.4 quick through
pg67- 為什麼書上說 ??? error using ==> +
Function '+' ...
的
可是自己測試好像沒問題!?
對曲線圖還是不太了解怎麼看
希望老師可以在解釋一次
2008年11月7日 星期五
Chapter 4
4.1其實就已經看不太懂了......我看起來課文像是在說,影像處理時可能會分成3種類別,要先將複雜的不知道什麼東西轉換成簡單的,然後再進行影像處理。那個4.1的流程圖我覺得大概看的懂一些,就是要先將影像轉換過後,再做影像處理。處理完之後的影像,再轉換為原來的影像格式。
----------------------------------------------------------------------------------
老師好像還沒有提到Transforms的部分,希望在第11週時也能大概的說明一下。
然後有2個粗體字Neighborhood processing和Point operations,這2個我只能看懂表面的意思,但是不確定那是不是書本上實際想表達的意思。Neighborhood processing好像是說需要一個小範圍的像素值來做影像處理,Point operations則是只要處理一個點(像素)就好了,不用管它附近其它點的值。不知道課本真正想解釋的是不是這個?或者是英文的問題讓我又誤解了......
----------------------------------------------------------------------------------
這個問題再第10週上課時,老師有大概的講解過了,沒想到居然跟我猜到的意思差不多。主要就是差在影像處理一個點時,需不需要其他鄰近點的資料。
接下來4.2的圖表,那個New values和Old values的圖表看不懂。一個是加上128,另一個減128,加上128會使得原本灰階值大於126的點全部都變成白色(因為127就大於126,127+128=255),而減128則是讓元素灰階值小於129的點全部變成黑色,但是圖表的那條線到底想表達什麼東西,還是完全看不懂。
----------------------------------------------------------------------------------
這個問題再經過老師的說明之後,我終於知道這個圖要怎麼看了,原來是要將初始值對應到處理過後的值,由這個圖就可以大概的看出影像是在做什麼樣的處理了。
後面的b3~b5那些圖,大概知道書本想做什麼實驗給我們看。一個是將所有的灰階值除以2,所以整個圖片會變暗,另一個是全部乘上2,所以圖片會變亮,第3個比較特別,先除以2之後再加上128。這種做法使得顏色之間的差距縮小,處理後的圖片看起來對比會變得比較不明顯(也就是顏色都差不多的意思)。
我自己隨便代了2個數字來實驗,假設有2個點, 1個灰階值是200,另一個是100,這樣他們顏色差距還有200-100=100。然後同時除以2就會變成100和50,在加上128,這時候就變成228和178,2個點的顏色差距變成了228-178=50。 當2個顏色值的差距縮小了之後,在圖片上看起來顏色就會比較接近,也就是對比變弱了。
4.2最後的那個圖則是互補色(complement),互補色就是用255減去目前的的灰階值,算出來得到的值就是目前顏色的互補色了。在灰階圖片中,用互補色輸出的圖片,就是原本顏色較深的部分會變得較淺,而原本較淺的地方則會變得較深。在這個地方,因為剛好我有選修2年級的數位媒體概論,而那節課有練習用BCB做RGB(彩色影像)的互補色,所以在課本的這一部分就比較能了解。
再來是4.3的Histograms(長條圖), 我記得這邊老師在剛開學的時候,好像有提到一些這章節的一些內容。那個時候好像是在說明MATLAB的指令,有一個指令是在畫長條圖的,老師剛好就用灰階影像的顏色值來當作例子。
當長條圖顯示顏色都很靠近時(課本上圖4.8的長條圖,灰階值大部分都在70~150之間),那圖片看起來顏色就會都很接近,細微的地方感覺會不太清楚。在4.3.1的地方在說明Histogram stretch,在4.3.2則是在說Histogram equalization。這2個我查完字典還是想不出來到底要怎麼翻譯,Histogram stretch是長條圖延伸、展開、拉直??Histogram equalization則是長條圖平等化、均等化??
我只依稀的記得,老師在剛開學的時候有提到,如過因為所有顏色太接近,而造成影像看起來不太清楚的時候,只要將長條圖的顏色讓他平均一點的分配,從0~255都有用到一些的話,圖片的一些細微輪廓部分就會可以看得出來了,也就是會變得比較清晰一些。
最後的4.4看不太懂,因為課本上也沒有什麼範例圖片,只有一些圖表和數學算式。加上期中考的關係,所以那部份我就還沒有去讀了。最後希望老師也能像講解第3章一樣,來說明一下第4章的一些內容,有些東西上課聽老師說果然比自己一直看書還要容易了解。
----------------------------------------------------------------------------------
老師在第10週時一上課就說,其實最後這部分是最簡單的。它只是用了一個方法,讓影像處理時執行的速度加快。就是先將較麻煩的運算先算過,然後把輸入的資料和運算過後的資料儲存在一個表格裡面。接下來當影像處理的時候,只要查表就可以得到輸出的值,不需要在每個點都運算一次。