2013-12-12 62 views
1

我使用ENVI進行卷積,如何使用CONVOL函數在IDL中獲得相同的ENVI結果?

中位數組,5內核大小​​,將圖像添加返回值的0%

在ENVI的結果是非常好的,

當我嘗試做使用CONVOL相同的IDL我不能設法得到它的工作方式相同,

這裏是我的代碼:

fsize = 5 
ext = [fsize, fsize] 
kernel = REPLICATE(1, ext[0], ext[1]) 
B = BYTE(CONVOL(B, kernel, INVALID=255, MISSING=255, /CENTER, /EDGE_WRAP)) 

有人能告訴我什麼是錯的嗎?

+0

你試過顛倒你的內核嗎?在計算卷積之前,IDL不會這樣做。因此,如果您查看他們的[文檔](https://www.exelisvis.com/docs/CONVOL.html),您會注意到他們建議在輸入時使用內核的反轉。 –

回答

0

我不認爲你想使用CONVOL。你實際上正在做一箇中值濾波器,所以你應該使用MEDIAN函數:

result = MEDIAN(array, 5) 
相關問題