2007年11月7日 星期三

Week8 Chapter5

※Chapter 5 Neighborhood Processing
※由於上週已經閱讀完畢,本週針對於略嫌不足的地方加強
 故不考慮新增blog文件,但我的blog細節有增加
※目前只考慮放置問題於此,詳細的細節請看 前往
※↑ @2007/11/14更新

Questions:
1. Page 93,94
  關於filter2的"same","valid","full",
  課本有些簡單的範例,例如在x的四周補0後使用"valid"的效果
  與直接使用"same"的效果相同
  知道每個單字出現的範圍大小,但實際計算方式仍不太了解
  →已知課本範例結果"valid"3×3,"same"5×5,"full"7×7

2. Page 96,97 5.3.1
  關於「Separable Filters」
  示範把陣列分離成1×N與N×1
  並提到Separability can result in great time savings.
  關於這邊,語句上的翻譯是節省時間
  而關於節省,到底是節省怎樣的時間?
  抑或是節省記憶體的空間呢?(是否有此項功能)

3. Page 99 Figure 5.5 的解說
  In each case, the sum of all filter element is zero.
  意指,構成上述圖片的fliter元素相加總合為0
  在網路上搜尋了關於Laplacian的事蹟,
  或許這問題不是很重要,但仍然好奇該矩陣是如何構成?

4. Page 108 (應該放到課本找錯區嗎= =?)
  f=[-1 -1 -1;-1 11 -1; -1 -1 -1]/9;
  xf=filter2(x,f);
  imswho(xf/80)
  根據上述指令操作,只有出現一個小點(約3×3大小)
  但當我將xf=filter2(f,x); //x與f的位置對調
  就可以show出圖片大小的圖

5. Page 111(應該放在課本找錯區??)
  假設有一張圖片存在x裡面
  原本→cmax=nlfilter(c,[3,3],'max(x(:))');會不能用
  修改→cmax=nlfilter(x,[3,3],'max(x(:))');才能用
  →cmin亦同
  但當我將一張圖片大小與x相同的圖片塞到c裡
  就可以用課本上的指令,那麼該算是筆誤還是?
  如此一來,是否意指cmax=nlfilter(x,[3,3],'max(x(:))');前後變數該相同?

5 則留言:

  1. 2.他是節省運算的時間,運算越多,所耗費的時間會越久,但因為他減少了運算的次數,想必會節省記憶體的空間,而當N值越大時,節省的時間會越明顯!!

    回覆刪除
  2. Q1: valid 大小為 3*3 的原因是原來的矩陣大小為 5*5 且 filter 的大小為 3*3 的緣故。實際在紙上畫一畫, 手動推算一下, 你就會了解他在做什麼了!!

    回覆刪除
  3. Q2: 課本有提到怎麼節省時間的, 原本一個運算需要多少個乘法和多少加法才能完成, 後來用比較少的次數可以達到同樣的執行結果, 就是減少時間上的需求。

    回覆刪除
  4. Q4: 會找課本的錯, 代表你已經讀懂課本, 很高興吧!! filter2 的第一個參數確實應該放 filter 才對!!

    回覆刪除
  5. Q3: 有關 Laplacian filter 是怎麼設計出來的的問題, 必須從我們想要獲得怎樣的結果去思考。如果我們想要找出影像中物件的 edge, 我們該如何呢?

    回覆刪除