在OpenCV(C++ API)中是否有函数执行维纳滤波?在这种情况下,哪个是头文件?在C++中是否有一个维纳函数在打开cv?
我在寻找像matlab的Wiener滤波器这样的函数。如果没有,有没有人试图用OpenCV实现它?我的目标是减少视差图中的噪音。
在OpenCV(C++ API)中是否有函数执行维纳滤波?在这种情况下,哪个是头文件?在C++中是否有一个维纳函数在打开cv?
我在寻找像matlab的Wiener滤波器这样的函数。如果没有,有没有人试图用OpenCV实现它?我的目标是减少视差图中的噪音。
坏消息:没有。
好消息:使用OpenCV的FFT函数实现经典方程并不困难。它甚至提供了一个API来扩展频谱。
现在,您也可以尝试使用其他算法,例如median filtering或实施已显示可与深度图一起使用的电视降噪。
感谢您的信息。你试图用OpenCv FFT实现它? – kadu
我发现维纳滤波器的C++源代码有:
http://gigadom.wordpress.com/2012/05/11/deblurring-with-opencv-weiner-filter-reloaded/
有
https://github.com/savsun/Filters
您只需编辑,然后调用作为函数。
你可以试着自己执行维纳过滤器,例如书
彼得鲁,玛丽亚; PETROU,科斯塔斯。 图像处理:基础。约翰·威利父子& 2010年
具有式维纳过滤器和大量的建议和实际的解释执行的算法(例如,它说明了如何估计噪声的功率谱和一个完整的推导原始未降级图像/信号的功率谱仅从恶化和噪声图像/信号开始,并且很好地解释了一些合理的假设)。
我知道这是一个老问题,但几天前我遇到过同样的需求。我编写了基于OpenCV库的自适应维纳滤波器(类似于wiener2 Matlab的函数)的个人C++实现,并且我已将它推到github上。希望这可以帮助!
可能的重复:http://stackoverflow.com/questions/6558641/wiener-filtering – scap3y