作者michael9801 (阿包)
看板C_and_CPP
标题请问 opencv的dft
时间Tue May 12 10:16:22 2020
看了Digital image processing 的书
其中提到一般来说在频率域做滤波之前,为了避免卷叠错误(wraparound error)
会先把空间域原图补 padding 成原图的两倍大小
请问opencv的 DFT在使用前需要这样做吗?
上网查一些范例,包括官方范例
都只是补成 FFT 方便计算的大小而已
没有补到两倍大
请问这样是正常的吗?
-----
Sent from JPTT on my iPhone
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.140.193.39 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1589249784.A.C3E.html
※ 编辑: michael9801 (223.140.193.39 台湾), 05/12/2020 12:23:04
1F:推 Schottky: 看你需要怎样的结果而定,高兴就好05/13 01:04
S大,我是希望可以越少人造误差越好
更新一下目前自己测试的结果
目前看起来使用opencv的dft函式
两倍padding确实是目前最方便能够消除卷叠错误的方法
顺便测试一下,bordertype 用 reflect的话结果会跟DCT几乎一模一样(目前测试是平均
每pixel差 2e-5 个灰阶左右)
符合隐含周期性的特性
所以是不是直接用DCT就好呢?
也不用补padding了
速度比较快
也不用去处理虚部通道了呢?
※ 编辑: michael9801 (223.140.193.39 台湾), 05/13/2020 14:55:01