中值滤波

没什么好讲的,无非就是把滤波模板里面的数据取出来,然后排序。我在这里用的是冒泡排序,然后取中间的值替换掉就行了。

原理

Qt加OpenCV构建二维图像处理界面(4)

在vs上面测试代码

代码太长,分几次截屏吧。
Qt加OpenCV构建二维图像处理界面(4)

Qt加OpenCV构建二维图像处理界面(4)

Qt加OpenCV构建二维图像处理界面(4)

结果还可以吧(3*3滤波模板):
Qt加OpenCV构建二维图像处理界面(4)
时间就比均值滤波要慢一点:
Qt加OpenCV构建二维图像处理界面(4)

移植到Qt上面

具体的可以看我上一篇。我就不做过多的重复了。直接上代码吧。
Qt加OpenCV构建二维图像处理界面(4)
Qt加OpenCV构建二维图像处理界面(4)
Qt加OpenCV构建二维图像处理界面(4)
Qt加OpenCV构建二维图像处理界面(4)
Qt加OpenCV构建二维图像处理界面(4)
Qt加OpenCV构建二维图像处理界面(4)

结果就不放了

这也可以理解,因为中值滤波主要是针对椒盐噪声的。你选一个3*3的模板,9个像素值排序,椒盐噪声肯定不可能排中间啊。可是那又有一种情况,如果3*3的模板里面那9个像素值有8个都是椒盐噪声怎么办?别急。那是改良版的中值滤波。以后再写。

相关文章:

  • 2021-12-06
  • 2021-05-20
  • 2021-04-15
  • 2021-09-17
  • 2021-04-09
  • 2021-05-23
  • 2022-12-23
  • 2021-08-02
猜你喜欢
  • 2021-06-22
  • 2021-12-05
  • 2021-09-07
  • 2021-12-08
  • 2021-10-28
  • 2021-08-19
  • 2022-12-23
相关资源
相似解决方案