2013-03-22 178 views
1

我有Java代碼,需要一個卷積矩陣(只是一個2D double[][])並將其應用於圖像。我試圖找出如何創建一個矩陣,給出一個運動模糊,給定一個角度(以度爲單位)和一個模糊量級。給定一個角度和大小的運動模糊卷積矩陣

用於與量值的模糊的示例矩陣= 1(中間像素由一個像素在每個方向上模糊),45度的運動模糊是:

0  0 1/3 
0  1/3 0 
1/3 0  0 

大小決定的矩陣的大小(大小= 2 *大小+ 1),並且一行單元在運動方向上不爲零。

我遇到的麻煩是數學/代碼需要找出哪些細胞在給定角度的矩陣中非零。

僞(或實際)代碼將非常有幫助!

回答

1

對於運動模糊,非零元素顯示全部沿着一條線。這就是你的例子工作的原因。 [1/n 1/n(ntimes)... 1/n]會在水平方向上模糊,而轉置則會垂直模糊。對於任意角度,只需填入非零元素,最接近您想要的角度的一條線。

編輯。

例如,您可能會嘗試最小化像素索引的某些函數,以確定該像素是否應爲非零。 |(i - 3 * j)| <小數字,會找到沿着斜率3的線的像素。

+0

是的,我明白這一點。我不知道該怎麼做的是找出哪個單元格在給定的角度上最接近一條線。 – scaevity 2013-03-22 21:10:59

+0

啊,對不起。用啓發式解決方案來回答我的答案。 – bogle 2013-03-22 21:17:59

+0

@scaevity您是否找到解決該問題的方法? – zanbri 2017-08-24 13:41:55