#coding:utf-8
import sys,os
from PIL import Image,ImageDraw
#二值数组
t2val = {}
def twoValue(image,G):
for y in xrange(0,image.size[1]):
for x in xrange(0,image.size[0]):
g = image.getpixel((x,y))
if g > G:
t2val[(x,y)] = 1
else:
t2val[(x,y)] = 0
# 降噪
# 根据一个点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,N,Z):
for i in xrange(0,Z):
t2val[(0,0)] = 1
t2val[(image.size[0] - 1,image.size[1] - 1)] = 1
for x in xrange(1,image.size[0] - 1):
for y in xrange(1,image.size[1] - 1):
nearDots = 0
L = t2val[(x,y)]
if L == t2val[(x - 1,y - 1)]:
nearDots += 1
if L == t2val[(x - 1,y)]:
nearDots += 1
if L == t2val[(x- 1,y + 1)]:
nearDots += 1
if L == t2val[(x,y - 1)]:
nearDots += 1
if L == t2val[(x,y + 1)]:
nearDots += 1
if L == t2val[(x + 1,y - 1)]:
nearDots += 1
if L == t2val[(x + 1,y)]:
nearDots += 1
if L == t2val[(x + 1,y + 1)]:
nearDots += 1
if nearDots < N:
t2val[(x,y)] = 1
def saveImage(filename,size):
image = Image.new("1",size)
draw = ImageDraw.Draw(image)
for x in xrange(0,size[0]):
for y in xrange(0,size[1]):
draw.point((x,y),t2val[(x,y)])
image.save(filename)
image = Image.open("d:/1.jpg").convert("L")
twoValue(image,100)
clearNoise(image,4,1)
saveImage("d:/5.jpg",image.size)
分享到:
相关推荐
此代码可以实现图像的去噪和增强
基于python使用深度卷积神经网络的图像去噪设计与实现
这是基于Python编写的经典图像去噪算法BM3D,含源代码和范例。不依赖于作者原版的Matlab,开发使用更为友好,代码结构清晰。
基于python的图像增强与去噪算法设计与实现
基于python语言的三种图像简单去噪算法,Python源码
基于python的图像处理之图像去噪的各种算法实现,还设计了UI界面
python实现,调用python3wavelet:pywt
资源内容:基于传统图像去噪算法(均值滤波、中值滤波、非局部均值滤波NLM、三维块匹配滤波BM3D)和深度卷积神经网络的DnCNN图像去噪算法的matlab仿真(完整源码+说明文档+数据).rar 代码特点:参数化编程、参数可...
此代码可以实现图像的去噪和增强
1.版本:matlab2014/2019a/2021a,内含运行结果,不会运行可私信 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、...替换数据可以直接使用,注释清楚,适合新手
图像去噪的评价指标ENL, SSIM, PSNR,SNR,EPI
用于图像去噪处理,使用ADM方法图像去噪处理器处理
图像去噪算法,BM3D算法。计算量比较大,但是效果很好。
基于python深度学习的自编码器图像去噪.zip基于python深度学习的自编码器图像去噪.zip基于python深度学习的自编码器图像去噪.zip基于python深度学习的自编码器图像去噪.zip基于python深度学习的自编码器图像去噪.zip...
毕业设计的题目是小波去噪,参考了一些网上的资料,自己加以补充和修改,希望有用。
资源内容:基于Python实现图像去雨、去模糊、去噪(完整源码+数据).rar 代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 适用对象:工科生、数学专业、算法等方向学习者。 作者介绍:某大厂...
基于深度卷积神经网络图像去噪算法,深度卷积神经网络新算法,Python源码.zip.zip
基于python与YaleB数据集使用OMP + K-SVD算法实现图像去噪
传统的去噪方法往往假设含噪图像的有用信息处在低频区域,而噪声信息处在高频区域,从而基于中值滤波、Wiener 滤波、小波变换等方法实现图像去噪,而实际上这种假设并不总是成立的。基于图像的稀疏表示,近几年来...