#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编程语言结合自编码器(Autoencoder)这一机器学习模型来实现图片去噪的设计与实现。 自编码器是一种无监督学习的神经网络模型,主要用于数据降维和特征学习。它的主要思想是通过训练...
CNN实现MNIST分类,在测试集上实现准确率0.99,TensorFlow实现,容易上手
实现对图像进行简单的高斯去噪和椒盐去噪。 代码如下: import numpy as np from PIL import Image import matplotlib.pyplot as plt import random import scipy.misc import scipy.signal import scipy.ndimage ...
本项目“基于Python与VGG16的使用UNet对图像去噪设计与实现”着重介绍如何利用Python编程语言,结合深度学习模型VGG16和UNet,来构建一个图像去噪系统。以下将详细介绍这一过程的关键知识点。 首先,Python是数据...
在提供的压缩包文件"DnCNN-Denoise-Gaussian-noise-TensorFlow-master"中,可能包含了完整的DnCNN源代码、训练脚本、预训练模型以及相关的示例数据。通过解压并运行这些文件,用户可以体验到DnCNN在去除高斯噪声方面...
本文将详细介绍如何使用Python进行图像去噪,并通过示例代码深入探讨几种常见的图像去噪方法,包括但不限于中值滤波、均值滤波以及一种基于连通域分析的去噪方法。这些方法不仅适用于一般场景,还能有效应对字符图像...
在上述代码中,首先创建了一个500x500的二维矩阵`input_images`,然后加载了一张名为"testtwo.png"的图片,并将其转换为灰度模式。利用PIL库的`Image.open()`和`convert('L')`方法完成这一过程。之后,通过遍历图像...
### 使用Python PIL库实现简单验证码的去噪方法 #### 一、引言 在实际的项目开发中,验证码作为一种常用的安全验证手段,被广泛应用于网站登录、表单提交等场景中,以防止自动化攻击和垃圾信息的发送。然而,为了...
在图像处理领域,批量加噪和去噪是常见的操作,特别是在训练深度学习模型或进行图像增强时。...通过编程实现这些步骤,可以构建一个完整的图像处理流水线,对于图像分析、机器学习以及计算机视觉应用都有着重要的意义。
堆叠去噪自编码器matlab代码微型计算机 (线性)边际化堆叠降噪自动编码器(mSDA)以及密集词组(dCoT)的Python实现,这是基于mSDA的降维算法。 基于Minmin Chen的Matlab代码。 有关原始论文和代码,请参见。 该...
以下是读取txt文件中数据的Python代码: ```python def loadData(fileName): inFile = open(fileName, 'r') X = [] y = [] for line in inFile: trainingSet = line.strip().split(',') X.append(float...
图片预处理中重要一环就是椒盐去澡,通常用到中值滤波器进行处理,效果很好。中值滤波器是一种非线性滤波器,其基本原理是把数字图像中某点的值用其领域各点值的中值代替。 如求点[i,j]的灰度值计算方法为: (1)按...
通过阅读和理解代码,我们可以学习如何在Python中应用这些方法,进一步提升我们的图像处理技能。 总的来说,运动图像处理涉及了多个图像复原技术,包括逆滤波、维纳滤波和LR算法。通过Python编程,我们可以有效地...
文件类型包括18个Python源代码文件、3个Markdown文档、2个TXT文档、2个YAML配置文件、2个Pickle文件、2个T7文件、1个Git忽略文件、1个JPG图片文件和1个Shell脚本文件。该系统通过非局部卷积神经网络(NL-CNN)对SAR...
数字图像处理大作业python实现的彩色图像去噪的实现源码+PDF文档(高分项目).zip个人97分的期末大作业,主要针对计算机相关专业的正在做课程设计和期末大作业的学生和需要项目实战练习的学习者。包含全部项目源码、...
描述提到“代码精简,文档齐全”,意味着提供的资源不仅包含简洁有效的Python代码,还有完整的文档说明,方便开发者理解和应用。 Python OCR是一项常用的技术,它允许我们从图像中识别并提取文本。在这个项目中,...
它最初设计用于生物医学图像分析,尤其是细胞分割,但其优秀的表现使其在图像去噪、语义分割等多个领域也得到了广泛的应用。 **U-Net结构** U-Net的网络结构呈现出“U”形,故得名。它的核心特点是结合了编码器...
1. **图像预处理**:首先,算法会接收身份证的图片,然后通过图像增强、去噪、裁剪等手段优化图像质量。例如,使用灰度化处理将彩色图像转化为黑白图像,减小计算复杂度;Canny边缘检测或霍夫变换用于检测身份证边框...