4.1 Python图像的图像恢复-空域噪声滤波器

文章目录

  • 4.1 Python图像的图像恢复-空域噪声滤波器
    • 1 算法原理
    • 2 代码
    • 3 效果

1 算法原理

空域噪声滤波器(均值滤波器、排序统计滤波器)

均值滤波–cv2.blur(原始图像,核大小),指任意一点的像素值,都是周围 N*M 个像素值的均值。均值滤波器的特点为:随着核大小逐渐变大,会让图像变得更加模糊;如果设置为核大小为(1,1),则结果就是原始图像。均值滤波器的模板由标准像素平均和加权平均之分。如下图所示:

两个3x3平滑(均值)滤波器模板。每个模板前面的乘数等于1除以所有系数之和,这是计算平均值所要求的。

排序滤波器是一种非线性空间滤波器,这种滤波器的响应以滤波器包围的图像区域中所包含的像素的排序为基础,然后使用统计排序结果决定的值代替中心像素的值,这一类中最著名的滤波器是中值滤波器,本实验报告以中值滤波器为例,进行统计排序滤波器算法实现。

中值滤波–cv2.medianBlur(src, ksize)。这里的核大小 ksize 必须是奇数,将该点周围的像素点包括本身,按次序排列,取中位数作为点的像素值。中值滤波器的特点为:随着核大小逐渐变大,会让图像变得更加模糊;核必须是大于 1 的奇数,如 3、5、7 等;在代码 dst = cv2.medianBlur(src, ksize) 中 填写核大小时,只需填写一个数即可,如 3、5、7 ,9等,对比均值滤波函数用法。

中值滤波器应用广泛,因为与大小相同的线性平滑滤波器相比,它能有效地降低某些随机噪声,且模糊度要小得多。对于单极和双极冲激噪声,中值滤波器的效果更好,但多次使用中值滤波器会使用图像模糊。

其他排序滤波器

最大值滤波器可用于找到图像中的最亮点,或用于消弱与明亮区域相信的暗色区域。此外由于胡椒噪声的值很低,因此可用这种滤波器来降低胡椒噪声。

最小值滤波器用于找到图像中的最暗点,或用于削弱与暗色区域的明亮区域。此外,还可通过最小运算降低盐粒噪声。

中点滤波器是统计排序滤波器与平均滤波器的结合。它最适合于处理随机分布的噪声,如高斯噪声或均匀噪声。

2 代码

运行代码说明

1.要改变代码中的图片地址(地址不能有中文)

更改put(path)函数中的路径put(r'../image/image1.jpg')

2.注意最后的plt.savefig('1.new.jpg')是保存plt图像,如果不使用可以注释掉

import os
import numpy as np
import cv2
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = Falsedef put(path):img = cv2.imread(path, 1)img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)rows, cols = img.shape[:2]# 加噪声img_noise = img.copy()for i in range(5000):x = np.random.randint(0, rows)y = np.random.randint(0, cols)img_noise[x, y] = img[x, y] + np.random.randint(50, 100)# 均值滤波res1 = cv2.blur(img_noise, (9, 9))# 统计排序滤波# 中值滤波res2 = cv2.medianBlur(img_noise, 5)plt.subplot(2, 2, 1), plt.axis('off'), plt.imshow(img, plt.cm.gray), plt.title('原始图像')plt.subplot(2, 2, 2), plt.axis('off'), plt.imshow(img_noise, plt.cm.gray), plt.title('加入噪声后图像')plt.subplot(2, 2, 3), plt.axis('off'), plt.imshow(res1, plt.cm.gray), plt.title('均值滤波器')plt.subplot(2, 2, 4), plt.axis('off'), plt.imshow(res2, plt.cm.gray), plt.title('中值滤波器')# plt.savefig('1.new.jpg')plt.show()# 图像处理函数,要传入路径
put(r'../image/image3.jpg')

3 效果

4.1 Python图像的图像恢复-空域噪声滤波器相关推荐

  1. 4.3 Python图像处理之图像恢复-无约束滤波器(逆滤波)、有约束滤波器(维纳滤波器)

    4.3 Python图像处理之图像恢复-无约束滤波器(逆滤波).有约束滤波器(维纳滤波器) 文章目录 4.3 Python图像处理之图像恢复-无约束滤波器(逆滤波).有约束滤波器(维纳滤波器) 1 算 ...

  2. 4.2 Python图像的图像恢复-组合滤波器

    4.2 Python图像的图像恢复-组合滤波器 文章目录 4.2 Python图像的图像恢复-组合滤波器 1 算法原理 1.1 混合滤波器 1.2 选择性滤波器 2 代码 3 效果 1 算法原理 1. ...

  3. 只用一张训练图像进行图像的恢复

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:George Seif 编译:ronghuaiyang 导读 ...

  4. 9.1 Python图像处理之图像数学形态学-二值形态学(腐蚀、膨胀、开启、闭合)

    9.1 Python图像处理之图像数学形态学-二值形态学(腐蚀.膨胀.开启.闭合) 文章目录 9.1 Python图像处理之图像数学形态学-二值形态学(腐蚀.膨胀.开启.闭合) 1 算法原理 1.1 ...

  5. Python,OpenCV图像金字塔cv2.pyrUp(), cv2.pyrDown()

    Python,OpenCV图像金字塔cv2.pyrUp, cv2.pyrDown 1. 效果图 2. 原理 2.1 什么是图像金字塔 2.2 金字塔分类 2.3 应用 3. 源码 参考 这篇博客将介绍 ...

  6. 【Python】函数图像绘制:二维图像、三维图像、散点图、心形图

    [Python]函数图像绘制:二维图像.三维图像.散点图.心形图 所有需要用的包 二维图像 三维图像 散点图绘制 心形图绘制 所有需要用的包 from mpl_toolkits.mplot3d imp ...

  7. Python计算机视觉——图像到图像的映射

    Python计算机视觉--图像到图像的映射 文章目录 Python计算机视觉--图像到图像的映射 写在前面 1 单应性变换 1.1 直接线性变换算法 1.2 仿射变换 2 图像扭曲 2.1 图像中的图 ...

  8. python使用openCV图像加载(转化为灰度图像)、Canny边缘检测器检测图像的边缘(Detect Edges)

    python使用openCV图像加载(转化为灰度图像).Canny边缘检测器检测图像的边缘(Detect Edges) 目录

  9. python使用openCV图像加载(转化为灰度图像)、使用filter2D函数对图像进行锐化(Sharpen Images)

    python使用openCV图像加载(转化为灰度图像).使用filter2D函数对图像进行锐化(Sharpen Images) 目录

  10. python代码计算图像的分辨率

    python代码计算图像的分辨率 def jpeg_res(filename):""""This function prints the resolution ...

最新文章

  1. 聊聊动画引擎 pop
  2. 2.QML组件、图像几何变换和元素定位器
  3. 2021年软考考试时间公布
  4. Android SqliteManager 源码
  5. python类的专有方法_Python——类的专有方法
  6. 从 MVC 到前后端分离
  7. Linux中使用netstat命令的基本操作,排查端口号的占用情况
  8. pyquery获取不到网页完整源代码_爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网...
  9. Vuejs 条件判断
  10. windows中的计划任务(タスクスケジュール)不登陆也可以执行 设定方式
  11. vsftpd虚拟用户使用实验报告
  12. python中popen返回值_python中os.system()和os.popen()的返回值
  13. mysql 处理json_mysql存储过程处理json格式内容
  14. 计算机网络第七版 部分详细答案
  15. 《机器人动力学与控制》第九章——动力学 9.4 欧拉-拉格朗日方程法应用举例(下)
  16. ES工具--kibana
  17. 看完这篇异地多活的改造,我决定和架构师 battle 一下 / 得物技术
  18. STM32与ESP8266物联网编程
  19. Python练手项目:用中国地图验证四色地理
  20. 2月14日机构龙虎榜和知名游资操作情况

热门文章

  1. mongo异常无法启动-处理方法
  2. 苹果cms function.php,送你们几个字!对!就是MACCMS注入!
  3. java的诞生詹姆斯·高斯林
  4. 程序人生 - 游戏帧数很高,为什么还是会卡顿?
  5. linux 取消分区,如何在 Linux 中删除分区 | Linux 中国
  6. 植被覆盖指数计算教程(ENVI)
  7. 计算机公式sin,三角函数换算(新版中文三角函数计算器)
  8. Make menuconfig详解(转)
  9. mongodb WT_ERROR: non-specific WiredTiger error
  10. 【转】中国历史上下五千年之朝代变迁