2013-12-08 80 views
0

我正在使用我寫的高斯模糊,目前我無法想出一種方法來檢查,然後正確應用邊界上的矩陣。我已經完成了一個循環,將它應用到離圖像邊界足夠遠的像素上。我沒有看到如何做一個算法,可以得到一個像素的座標,計算內核的任何行或列(或兩者)最終在圖像的邊界之外結束,並克隆相反行的像素或列,或者僅將矩陣應用於目標周圍的像素。我曾想過使用if-else語句,但我立即發現它可能不起作用。應用高斯模糊內核

我不是要求代碼,我只是想獲得一些有關獲取邏輯的幫助,所以我可以在我的程序中實現它。謝謝。

回答

0

這樣的問題可以通過將圖像擴展到所需大小然後將內核應用於ROI來解決。例如,要將5 * 5內核應用於100 * 100圖像,可以通過複製邊緣像素將圖像展開至102 * 102大小,然後將內核應用於中心的100 * 100 ROI。

+0

ROI?另外,如何通過複製像素來擴展圖像而不會在角落中留下間隙? – MKII

+0

投資回報率是感興趣的區域,如果這是您的問題。當然,圖像擴展不能在原地進行,您需要分配更大尺寸的圖像。在我的示例中,濾鏡必須從展開圖像的像素[2,2]開始應用。這是在IPP(Inter Performance Primitives)中用於圖像卷積的方式。 –

+0

這是此類方法的示例:http://software.intel.com/zh-cn/node/441878 http://software.intel.com/sites/products/documentation/hpc/ipp/ippi/ippi_ch4/functn_CopyReplicateBorder .html –