2016-01-04 27 views
0

有一個圖像片段A = [7 8 4; 8 6 3; 8 5 1],顯示應用不同過濾器的結果。應用過濾器到圖像片段

  1. 應用3×3平均濾波器
  2. 應用3×3拉普拉斯濾波器
  3. 在水平方向上施加一個3×3 Sobel濾波器測量梯度

而下面是我的問題:

  1. 9個像素的總和爲50,50/9 = 5,所以中心像素的結果應該是5.但是中心周圍的像素呢?
  2. 根據函數,很容易得到中心像素的值應該是8 + 5 + 8 + 3 - 4 * 6 = 0,但是中心周圍的像素呢?我可以只複製原始值,因爲我認爲它只是圖像片段。
  3. 根據索貝爾操作員Gx = [-1 0 1; -2 0 2; -1 0 1],計算我需要計算的結果Gx * A。但我混淆了乘法。這是矩陣的傳統乘法嗎?我不知道如何執行這一步驟。
+1

這些技術中沒有「圍繞中心」。他們計算某個位置上某個像素的值,並在其周圍顯示邊框。即僅用於中心像素。因此,偏離中心的像素將通過稍後(或更早)的計算來計算,其中該特定像素是計算的中心。 – Adriaan

回答

1

所有這些都是圖像與給定過濾器的卷積。你所有的問題都是關於在執行這個卷積時處理圖像片段中的邊緣的問題。

與MATLAB專門相關(如您的標籤所示),如果您使用內置函數conv2()函數,MATLAB會將圖像和過濾器不重疊的任何區域視爲0。所以你的圖像片段填充0。