INTRODUCTION TO DIGITAL IMAGEPROCESSING
Chapter 5: NEIGHBORHOOD PROCESSING
◈ 詳細閱讀
______________________________
◈ 實作心得
①
▪ x = magic(n);
- 形成一個邊長為n的方形矩陣,裡面的值填入1, 2,..., n*n,需
滿足各列、各行、各對角線的值的總和都等於
(1+2+...+n*n)/n。
(試驗1,3,4,5都符合,2不符合)
(由於分心了一陣子,所以本章的程式尚未實作完)
______________________________
◈ 問題 :
① Page 87, 89/filter的定義
如page 87倒數第六行所述,filter是mask與函數的合體,那麼page 87最後兩行這裡相乘又加總的運算是屬於一個filter裡函數的部分?還是那是每個圖片與linear filter做filtering的運算嗎?再看page 89第一行是寫Spatial filtering的三步驟,第二步驟裡有提到filter elements相乘再加總的運算,如果filter element是mask+函數得出來的值。那麼根據標題與第二步驟是不是就可以確定這個相乘又加總的運算是linear filtering的步驟而不是filter裡函數的部分?再看page 92,如果說相乘又加總的運算是linear filtering的步驟而不是filter裡函數的部分,那麼這裡所說的averaging filter就可以驗證這句話,這裡的filter是1/9*mask,之後做filtering時再相乘又加總。
[還是覺得有一些小細節讓我質疑]
② Page 90/magic(n);
▪ x = magic(n);
- 形成一個邊長為n的方形矩陣,裡面的值填入1, 2,..., n*n,需滿足各列、各行、各對角線的值的總和都等於(1+2+...+n*n)/n。
以上是我自己試驗得出的這個函數的功能,試驗1,3,4,5都符合,但2卻不符合,是功能判斷錯誤還是2真的就是個例外。
③ Page 93 上一節的倒數兩行/zero padding的影響
"introducing unwanted artifacts"是之後所說的圖片邊緣會呈黑色嗎(參FIGURE5.4(d)?
④ Page 98 第一段/high-pass filter的係數總和是零
無法理解低頻的值相似與總和是零有什麼關聯。
Ans:
低頻的話,filtering後的值為零。假設原來的值為a、b、c、d、
e、f、g、h、i,mask的值皆為x,filter:ax+bx+...+ix =
x(a+b+...+i)必須為零,所以a+b+...+i為零。
⑤ Page 99 兩張圖/Laplacian filter、Laplacian of Gaussian filtering
這兩張圖是示範high-pass filtering,但我不知道這兩張圖各代表什麼。對Laplacian filter的功能尚未查資料。且後面的章節有提到Gaussian filter是low-pass filter,所以不知道Laplacian of Gaussian filtering又是什麼?
⑥ Page 102 第二點/Gaussian Filters的重要性
上面提到edge-detection是在high-pass filter的部分,進而思考到這裡會是說因為Gaussian filter是讓圖片模糊,所以可由Gaussian filter反向思考到與邊緣清晰有關的edge-detection演算法嗎?
⑦ Page 102 第四點/Gaussian Filters的重要性
這裡的convolution是像前面的spatial convolution一樣也是旋轉180度?所有的convolution都是?所以才會造成這裡所說的兩個Gaussian的convolution會是另一個Gaussian?
[希望解答]
註:因為不知道"希望課堂討論"是指純討論還是有包含只解答課堂討論的問題的意思,所以這裡先不寫"希望課堂討論",之後再作刪除或修改。
關於magic,由於他有一個規則在
回覆刪除我試著假設了所有可能性...結論是
不要強人所難(這句話是來亂的)!!!...|||b
應該就跟1不是質數,但他沒有因數的感覺是一樣的吧(被毆飛)
┌─┬─┐
│1│3│
├─┼─┤
│4│2│
└─┴─┘
┌─┬─┐
│4│2│
├─┼─┤
│1│3│
└─┴─┘
┌─┬─┐
│3│1│
├─┼─┤
│2│4│
└─┴─┘
┌─┬─┐
│2│4│
├─┼─┤
│3│1│
└─┴─┘
"應該就跟1不是質數,但他沒有因數的感覺是一樣的吧(被毆飛)"這句話是針對我提出的2這個值嗎?那麼下面附上的四種可能性是想傳達2有什麼特殊性嗎?如果是的話,我可能需要一點文字輔助說明,因為我還是看不出這四種可能性透露出2的什麼特殊性。[叩謝小冬的解說,請好人幫到底吧XD]
回覆刪除關於問題①我的看法是(未必是正解)
回覆刪除我一直覺得..."那個動作"就叫做filter
而"那個動作",就是根據function來改變mask
所謂的mask算是一種遮罩
而Page.89的東西,我的解讀如下:
1. 先選出想要的current pixel
2. 列出他的Pixel Neighborhood
3. 選定他是Mask的範圍
4. 將週遭的Neighborhood乘上特定乘積並加總在current pixel的位置
5. 輸出
而上述這些動作的總稱,就是filter
--
此外,關於linear filter
我覺得應該拿他跟nonlinear filter做比較
↑這樣會有比較清楚的相對感受
我覺得..
nonlinear filter就是在處理整張影像時,不考慮週遭的value
linear filter則是必須考慮整體的value來做調整...
不管怎麼說...
linear跟nonlinear filter...
應該都算是filter的類型(逃~)
[敝人口才不好,聽不懂改天直接說..囧]
關於我的第一個意見的文字解說如下:
回覆刪除「我嘗試列出了所有magic(2)可能出現的方塊,但是沒有一種會符合方塊本身該具有的特性」加上「凡事總有例外」這句話,以及「提示1沒有自己以外的因數,但又不屬於質數」來強調「凡事總有特例」這個事件。
如果非要一個解釋的話,我會將magic(2)認定為magic()函數中的一個特例;然而是不是唯一特例這我就無法確定了。
關於問題1的解答。在我的問題最後提到linear filtering是因為怕可能非線性的並不是做相乘再總合的運算,所以寫了linear filtering,但這裡我想強調的是filtering。
回覆刪除Q7: high-pass filter 的係數總和是零,
回覆刪除無法理解低頻的值相似與總和是零有什麼關聯。
所謂的 high-pass filter 指的就是將 low-frequency component 給濾掉, 濾掉的意思其實就是經過計算所得到的結果必須為零, 你可以想像一下, 低頻的表示該區域中的值都是沒有什麼變化的, 極端的情況就是大家通通都是一樣, 那麼依照 high-pass filter 原先的設計就是必須使這個低頻區的輸出為 0 才符合需求, 你可以想想, 假如這些濾波器的係數總和如果不為零的情況, 那會有什麼後果?
關於Q7: high-pass filter老師的提示
回覆刪除我想了一下,理解為:
因為已設定總合為零為低頻的判斷條件,所以如果總合不讓它為零的話,就不會被當成低頻,也不會過濾掉。所以我也可能改設定總合為100的為低頻,那麼總合就必須是100才會被濾掉。
不知道是否是我理解的這個意思?