返回顶部
首页 > 资讯 > 后端开发 > Python >python实现图像降噪
  • 340
分享到

python实现图像降噪

2024-04-02 19:04:59 340人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本文实例为大家分享了python实现图像降噪的具体代码,供大家参考,具体内容如下 任务描述 背景 图像在数字化和传输等过程中会产生噪声,从而影响图像的质量,而图像降噪技术可以有效地减

本文实例为大家分享了python实现图像降噪的具体代码,供大家参考,具体内容如下

任务描述

背景

图像在数字化和传输等过程中会产生噪声,从而影响图像的质量,而图像降噪技术可以有效地减少图像中的噪声。如下图所示,左图是一幅包含噪声的图像(图中的黑点即为噪声),右图是降噪后的结果(黑点显著减少)。

中值滤波是一种常用的图像降噪方法,对于一幅带噪声的图像 1(设分辨率为 w×h),降噪方法如下:

1)将图像1转换成灰度图,仍称为图像1;
2)新建图像2,图像2为灰度图,分辨率与图像1相同;
3)对于图像 1 中坐标为 (x,y) 的像素 p,求 p 的中值 c,然后将图像 2 中 (x,y) 处的像素值设置成 c,其中,1≤x≤w−2、1≤y≤h−2;
4)保存图像 2,图像 2 即存放了降噪后的结果。

其中,第 3 步要计算 (x,y) 处像素 p 的中值 c,计算方法如下:

1)选取以 p 为中心的 3×3 图像区域,如上图所示,每个小方格代表一个像素,数字表示像素的灰度值,像素 p 的坐标为 (x,y),则选取的图像区域为黄色底纹区域;
2)对步骤 1 中选取的 9 个像素的颜色值进行升序排列,如上图所示例子排序后为:11、12、13、14、15、16、17、18、99;
3)在步骤 2 得到的排序结果中,排在最中间一个值即为中值 c,如上图所示例子中像素 p 的中值为 15。

任务

本关任务是补全程序,使其能进行图像降噪,说明如下:
1)排序操作可利用列表中的sort函数进行;
2)关于代码的相关说明见注释。

相关知识

略。

编程要求

在 Begin-End 区间补全代码,具体要求见上。

测试说明

测试集正确结果如下:

(1  , 1 ) -> 255
(72 , 42) -> 191
(120, 45) -> 127
(164, 49) -> 89
(235, 49) -> 38

你的图像与正确答案相同!

说明如下:

1)系统会调用你编写的median函数,并以“像素坐标 -> 中值”的格式打印结果,如测试集第 1 行的(1 , 1 ) -> 255表示:(1,1) 处像素的中值为255;
2)此外,系统会检查程序生成的图像文件,若正确则在测试集最后一行打印你的图像与正确答案相同!。

开始你的任务吧,祝你成功!

from PIL import Image


# 求图像img中(x,y)处像素的中值c
def median(img, x, y):
    ########## Begin ##########
    L = []
    xl = [x-1,x,x+1]
    yl = [y-1,y,y+1]
    for i in xl:
        for j in yl:
            gray = img.getpixel((i, j))  # 取出灰度值
            L.append(gray)
    L.sort()
    c = L[4]
    ########## End ##########
    return c


# 对图像文件1进行降噪,并将结果保存为图像文件2
# 图像文件1和2的路径分别为path1和path2
def denoise(path1, path2):
    img1 = Image.open(path1)  # 图像1
    img1 = img1.convert('L')  # 将图像1转换为灰度图
    w, h = img1.size
    img2 = Image.new('L', (w, h), 'white')  # 图像2
    for x in range(1, w - 1):
        for y in range(1, h - 1):
            c = median(img1, x, y)  # 求中值
            img2.putpixel((x, y), c)  # 将灰度设置为中值
    img2.save(path2)


path1 = 'step4.bmp'  # 带噪声的图像
path2 = 'step4_2.bmp'  # 降噪后的图像
denoise(path1, path2)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: python实现图像降噪

本文链接: https://lsjlt.com/news/119847.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python实现图像降噪
    本文实例为大家分享了python实现图像降噪的具体代码,供大家参考,具体内容如下 任务描述 背景 图像在数字化和传输等过程中会产生噪声,从而影响图像的质量,而图像降噪技术可以有效地减...
    99+
    2024-04-02
  • python图像降噪算法怎么实现
    在Python中,可以使用OpenCV库来实现图像降噪算法。以下是一种常见的降噪算法——中值滤波算法的实现示例: import cv...
    99+
    2023-10-27
    python
  • matlab如何实现图像降噪
    本篇内容介绍了“matlab如何实现图像降噪”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!部分代码clea...
    99+
    2024-04-02
  • Python图像处理:频域滤波降噪和图像增强
    图像处理已经成为我们日常生活中不可或缺的一部分,涉及到社交媒体和医学成像等各个领域。通过数码相机或卫星照片和医学扫描等其他来源获得的图像可能需要预处理以消除或增强噪声。频域滤波是一种可行的解决方案,它可以在增强图像锐化的同时消除噪声。快速傅...
    99+
    2023-05-14
    Python 图像处理 数学技术
  • python Pillow图像降噪处理颜色处理
    目录Pillow图像降噪处理模糊处理轮廓图边缘检测浮雕图Pillow图像颜色处理颜色命名Pillow图像降噪处理 由于成像设备、传输媒介等因素的影响,图像总会或多或少的存在一些不必要...
    99+
    2024-04-02
  • matlab怎么处理图像降噪
    要处理图像降噪,可以使用MATLAB中提供的一些图像降噪函数和算法。以下是一些常用的图像降噪方法: 中值滤波:使用medfilt2...
    99+
    2023-10-27
    matlab
  • Python实现对图像加噪(高斯噪声椒盐噪声)
    目录内容简介加噪声的代码(高斯噪声,椒盐噪声)在pytorch中如何使用补充内容简介 展示如何给图像叠加不同等级的椒盐噪声和高斯噪声的代码,相应的叠加噪声的已编为对应的类,可实例化使...
    99+
    2024-04-02
  • Python图片验证码降噪和8邻域降噪
    目录Python图片验证码降噪 和8邻域降噪一、简介 二、8邻域降噪 三、Pillow实现四、OpenCV实现Python图片验证码降噪 和8邻域降噪 一、简介 图片验证码识别的可...
    99+
    2024-04-02
  • 图像噪声、去噪基本方法合集(Python实现)
    文章目录 前言本文主要参考冈萨雷斯的数字图像处理 (第4版),介绍图片中一些常见的噪声形式和常用的去噪方法,并且给出相应滤波方法的实现代码。 一、噪声分类1、高斯噪声2、泊松噪声3、椒盐噪...
    99+
    2023-09-01
    python opencv 计算机视觉 图像处理
  • python数据降噪怎么实现
    在Python中实现数据降噪可以使用各种方法和库,以下是几种常用的方法: 移动平均滤波:使用移动平均滤波可以计算数据点周围的平均值...
    99+
    2023-10-27
    python
  • python数字图像处理-图像噪声与去噪
    图像噪声 椒盐噪声 概述: 椒盐噪声(salt & pepper noise)是数字图像的一个常见噪声,所谓椒盐,椒就是黑,盐就是白,椒盐噪声就是在图像上随机出现黑色白色的像素。椒盐噪声是一种因为信号脉冲强度引起的噪声...
    99+
    2023-01-31
    噪声 图像处理 图像
  • Python图片验证码降噪 — 8邻域降
    简介 图片验证码识别的可以分为几个步骤,一般用 Pillow 库或 OpenCV 来实现,这几个过程是: 1.灰度处理&二值化 2.降噪 3.字符分割 4.标准化 5.识别 所谓降噪就是把不需要的信息通通去除,比如背景,干扰...
    99+
    2023-01-30
    邻域 验证码 降噪
  • Python实现图像随机添加椒盐噪声和高斯噪声
    目录1.常见的图像噪声(1)高斯噪声(2) 椒盐噪声2.生成图像噪声(1)高斯噪声(2) 椒盐噪声(速度慢)(3) 椒盐噪声(快速版)3. Demo性能测试 图像噪声是指存...
    99+
    2024-04-02
  • Python怎么实现对图像添加高斯噪声或椒盐噪声
    这篇文章主要为大家展示了“Python怎么实现对图像添加高斯噪声或椒盐噪声”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python怎么实现对图像添加高斯噪声或椒盐噪声”这篇文章吧。加噪声的代码...
    99+
    2023-06-21
  • matlab如何实现图像去噪处理
    这篇文章主要介绍了matlab如何实现图像去噪处理的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇matlab如何实现图像去噪处理文章都会有所收获,下面我们一起来看看吧。1 内容...
    99+
    2024-04-02
  • OpenCV如何实现图像去噪算法
    今天小编给大家分享一下OpenCV如何实现图像去噪算法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、函数参考1、Prim...
    99+
    2023-07-02
  • 【图像处理】python | 给图像添加噪声 | random_noise
    文章目录 一、random_noise函数介绍二、实际操作2.1.导入照片2.2.添加高斯噪声2.3.添加椒盐噪声2.4.对比 一、random_noise函数介绍 首先,我们看一下...
    99+
    2023-10-24
    python 图像处理
  • Android实现录音静音降噪
    本文实例为大家分享了Android实现录音静音降噪的具体代码,供大家参考,具体内容如下 需求: 客户反馈产品的录音里面很多杂音(因为我们把Codec的录音增益调至最大,且电路上没有专...
    99+
    2022-11-13
    Android录音静音降噪 Android静音降噪 Android录音降噪
  • 常见图像噪声和常见图像噪声处理算法
    1、图像噪声 1.1图像噪声的分类 图像噪声按噪声与信号的关系可分为加性噪声和乘性噪声;按照产生原因可分为外部噪声和内部噪声;按照统计特性可分为平稳噪声和非平稳噪声;平稳噪声基于统计后的概率密度函数又可以分为:高斯噪声、泊松噪声、脉冲噪声、...
    99+
    2023-09-10
    算法 计算机视觉 python 图像处理
  • OpenCV实现图像去噪算法的步骤详解
    目录一、函数参考1、Primal-dual算法2、非局部均值去噪算法三、OpenCV源码1、源码路径2、源码代码四、效果图像示例一、函数参考 1、Primal-dual算法 Prim...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作