#coding:utf-8  
import sys,os  
from PIL import Image,ImageDraw  
  
#二值判断,如果确认是噪声,用改点的上面一个点的灰度进行替换  
#该函数也可以改成RGB判断的,具体看需求如何  
def getPixel(image,x,y,G,N):  
    L = image.getpixel((x,y))  
    if L > G:  
        L = True  
    else:  
        L = False  
  
    nearDots = 0  
    if L == (image.getpixel((x - 1,y - 1)) > G):  
        nearDots += 1  
    if L == (image.getpixel((x - 1,y)) > G):  
        nearDots += 1  
    if L == (image.getpixel((x - 1,y + 1)) > G):  
        nearDots += 1  
    if L == (image.getpixel((x,y - 1)) > G):  
        nearDots += 1  
    if L == (image.getpixel((x,y + 1)) > G):  
        nearDots += 1  
    if L == (image.getpixel((x + 1,y - 1)) > G):  
        nearDots += 1  
    if L == (image.getpixel((x + 1,y)) > G):  
        nearDots += 1  
    if L == (image.getpixel((x + 1,y + 1)) > G):  
        nearDots += 1  
  
    if nearDots < N:  
        return image.getpixel((x,y-1))  
    else:  
        return None  
  
# 降噪   
# 根据一个点A的RGB值,与周围的8个点的RBG值比较,设定一个值N(0 <N <8),当A的RGB值与周围8个点的RGB相等数小于N时,此点为噪点   
# G: Integer 图像二值化阀值   
# N: Integer 降噪率 0 <N <8   
# Z: Integer 降噪次数   
# 输出   
#  0:降噪成功   
#  1:降噪失败   
def clearNoise(image,G,N,Z):  
    draw = ImageDraw.Draw(image)  
  
    for i in xrange(0,Z):  
        for x in xrange(1,image.size[0] - 1):  
            for y in xrange(1,image.size[1] - 1):  
                color = getPixel(image,x,y,G,N)  
                if color != None:  
                    draw.point((x,y),color)  
  
#测试代码  
def main():  
    #打开图片  
    image = Image.open("d:/1.jpg")  
  
    #将图片转换成灰度图片  
    image = image.convert("L")  
  
    #去噪,G = 50,N = 4,Z = 4  
    clearNoise(image,50,4,4)  
  
    #保存图片  
    image.save("d:/result.jpg")  
  
  
if __name__ == '__main__':  
    main()

python 图像降噪相关推荐

  1. python图像降噪

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

  2. 可复现的图像降噪算法总结——超赞整理

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:AI算法与图像处理 图像降噪,是最简单也是最基础的图像处 ...

  3. 视觉进阶 | 用于图像降噪的卷积自编码器

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:磐创AI 作者|Dataman 编译|Arno 来源|A ...

  4. 图像降噪算法——稀疏表达:K-SVD算法

    图像降噪算法--稀疏表达:K-SVD算法 图像降噪算法--稀疏表达:K-SVD算法 1. 基本原理 2. python代码 3. 结论 图像降噪算法--稀疏表达:K-SVD算法 为了完善下自己降噪算法 ...

  5. python音频 降噪_python降噪_python音频降噪_python图片降噪 - 云+社区 - 腾讯云

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我们下面借助opencv的python封装包cv2,对其进行一些降噪处理,使得图 ...

  6. 用于图像降噪的卷积自编码器

    这篇文章的目的是介绍关于利用自动编码器实现图像降噪的内容. 在神经网络世界中,对图像数据进行建模需要特殊的方法.其中最著名的是卷积神经网络(CNN或ConvNet)或称为卷积自编码器.并非所有的读者都 ...

  7. day8 - 使用不同的滤波核进行图像降噪

    本期主要介绍用于图像平滑处理的滤波,分别是方框滤波.均值滤波.中值滤波.高斯滤波,比较不同滤波的效果:并了解自定义滤波器进行图像处理. 完成本期内容,你可以: 会使用方框滤波.均值滤波.中值滤波.高斯 ...

  8. python图像中如何显示中文

    python图像中如何显示中文 在开头加入这两行即可 from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei']

  9. LIVE 预告 | CVPR 2021 预讲 · 旷视专场,覆盖目标检测、蒸馏、图像降噪、人体姿态估计等...

    CVPR 2021 大会将于6月19日至 25日线上举行.为促进同行之间的交流与合作,智源社区近期举办了系列CVPR 2021预讲报告,其中实验室系列将汇聚国内顶尖高校和企业实验室的研究人员为大家分享 ...

最新文章

  1. 微信7.0.4内测版大更新!漂流瓶彻底成为历史
  2. Netsclaer配置
  3. sap abap 对字符串的操作
  4. 洛谷P1396 营救 题解
  5. 113. Path Sum II
  6. 字符串的比较相关方法
  7. SAP Spartacus 如何获得当前渲染页面的 CMS 元数据
  8. 王道操作系统考研笔记——2.1.5 线程概念与多线程模型
  9. Swift4.0 从相册中获取图片和拍照
  10. C++面试题-指针-指针与指针的引用
  11. c语言与或非异或符号怎么打,逻辑运算符的符号
  12. NVIDIA GPU 运算能力列表
  13. adams打不开提示msc license_adams安装后打不开
  14. 华三交换机开机dhcp snooping
  15. vue 引入 element-ui 报 es2015 的错
  16. canvas教程12-阴影
  17. BTC API命令 中文版
  18. [Python] 你的BMI是多少呢?
  19. UnityShader学习教程之<详解uv坐标,c#类似uv坐标的值以及贴图操作>
  20. php时间戳 中文,PHP时间戳-WEB资讯专栏-DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录....

热门文章

  1. php pdo blob,PHP / PDO / MySQL:插入MEDIUMBLOB存储坏数据
  2. pld与微型计算机的区别,VLSI 复习题与思考题
  3. matlab中并行用不了,请教matlab在linux下的并行问题 - 程序语言 - 小木虫 - 学术 科研 互动社区...
  4. php中的网络接口,php中的接口interface
  5. char* p = 123,字符串在内存中的哪个位置?
  6. 装oracle非常卡吗,win7系统安装完oracle电脑变卡的解决方法
  7. ilm 和dlm差异_电力通信系统--加密芯片.pdf
  8. 皮一皮:成人世界的潜台词...
  9. 每日一皮:你偷偷藏私房钱时被老婆发现的样子...
  10. 微服务架构如何保障双11狂欢下的99.99%高可用?