我在之前的文章中——OpenCV中的滤波函数以及专门去模糊化的函数fastNlMeansDenoisingColored讲解了OpenCV的入门。这一次,我们详细讲解OpenCV中的滤波函数,这样我们在学会滤波函数之后,既可以按照上一篇文章的内容进行噪音去除,也可以使用滤波函数进行反向操作—模糊。
OpenCV中的滤波类型
OpenCV实现了常见的数种滤波函数,同时也支持用户自己编写滤波函数。OpenCV中的滤波函数如下:
01
均值滤波
中值滤波
02
03
高斯滤波
边缘保留滤波
04
05
自定义滤波函数
其中的第一种滤波函数和第二种滤波函数,我们上一次都已经演示过来。滤波器本身是个矩阵,均值滤波是计算的均值,在我们之前的白噪点去除实验中,均值滤波效果并不好,而更适合中值滤波。除此之外还有几种比较特别的滤波函数,比如高斯滤波以及边缘保留滤波。其中高斯滤波也是高斯噪音的最佳去除器。而边缘保留滤波(EPF)则是用来保留边缘的滤波函数如双边滤波,均值迁移等等,由于篇幅原因,且边缘保留滤波相对于其他滤波器有些许特殊,所以我们这次会优先讲一讲其他滤波器,边缘保留滤波将会放在之后讲解。
噪音生成等基本函数
如果需要测试去噪效果,那么我们自然需要一个自动生成噪音图片的函数,以及模块化的进行去除效果展示的函数。这样可以模块化我们的代码,便