#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代码示例、结果展示,以及如何将这些技术应用于实际问题的指导。通过学习这份资料,你可以提升自己的图像处理能力,为图像分析、...
本篇文章将深入探讨如何使用Python和CNN进行图像去噪的设计与实现。 首先,我们需要理解图像去噪的基本概念。图像去噪是指从含有噪声的图像中恢复或提取清晰图像的过程。噪声可能来源于拍摄条件、传感器质量等因素...
本项目是基于Python实现的图像去噪算法集合,还包含了一个用户友好的UI界面,使得非编程人员也能方便地使用这些算法。下面我们将详细探讨图像去噪的几种常见算法及其Python实现,并结合PyQT5来构建用户界面。 1. **...
总的来说,这个基于Python的BM3D图像去噪库为研究人员和开发者提供了一种高效、灵活的工具,用于处理噪声污染的图像,特别是在科研和工业应用中,能够显著提高图像质量,促进后续分析和识别任务的准确性。
python实现,调用python3wavelet:pywt
资源内容:基于传统图像去噪算法(均值滤波、中值滤波、非局部均值滤波NLM、三维块匹配滤波BM3D)和深度卷积神经网络的DnCNN图像去噪算法的matlab仿真(完整源码+说明文档+数据).rar 代码特点:参数化编程、参数可...
本资源包提供了一种使用Python实现图像去噪和增强的方法,这对于我们理解和实践图像处理技术至关重要。 图像去噪是指从图像中去除不希望存在的噪声或随机干扰,以恢复图像的原始细节和清晰度。噪声可能是由图像捕获...
本资源提供的是基于Python语言实现的三种简单去噪算法的源代码,这三种算法分别是高斯滤波、中值滤波和双边滤波。下面我们将详细探讨这三种算法及其在Python中的应用。 1. 高斯滤波: 高斯滤波是一种线性的平滑...
总结来说,这个压缩包提供了WNNM图像去噪算法的实现,适用于处理高斯噪声的图像。虽然其执行速度可能较慢,但其在保持图像细节和边缘方面的优势使其在某些场景下成为理想选择。对于想要学习和应用WNNM算法的人来说,...
图像的去噪与增强python_python图像去噪_图像增强_图像的去噪与增强算法--python_图像去噪python_图像去_rezip
为了解决这个问题,一种基于深度卷积神经网络(Deep Convolutional Neural Networks, DCNN)的图像去噪算法被广泛研究和应用。本项目采用的是DnCNN(Deep Image Denoising with Convolutional Neural Networks),这...
为了解决这一问题,各种图像去噪算法应运而生。本教程将深入探讨如何利用Python编程语言,结合YaleB人脸数据集,应用Orthogonal Matching Pursuit (OMP) 和 K-Singular Value Decomposition (K-SVD) 算法来实现图像...
本项目“基于Python与VGG16的使用UNet对图像去噪设计与实现”着重介绍如何利用Python编程语言,结合深度学习模型VGG16和UNet,来构建一个图像去噪系统。以下将详细介绍这一过程的关键知识点。 首先,Python是数据...
在本次课程设计中,我们使用 Python 语言来实现基于神经网络的图像去噪算法,并使用 Tensorflow 平台来训练神经网络模型。我们首先定义了神经网络模型的架构,然后使用 Tensorflow 来训练模型。最后,我们使用测试...
1.版本:matlab2014/2019a/2021a,内含运行结果,不会运行可私信 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、...替换数据可以直接使用,注释清楚,适合新手
本篇文章将详细探讨Python中的图像去噪与增强技术。 一、图像去噪 1. 去噪的重要性:图像在获取过程中可能会受到各种噪声干扰,如光照变化、传感器噪声等,这些噪声会影响图像的质量和后续的特征提取。因此,去噪是...
总之,BM3D去噪算法是图像处理领域的一种高效工具,它结合了块匹配和三维滤波的优势,能够有效去除图像噪声,且在Python环境中,有OpenCV库的支持,使得其应用更为便捷。理解并掌握BM3D算法的原理和实现方法,对于...