图像随机加噪声

article/2025/9/25 11:45:18

        对于图像,一般做图像增强都是得要求算法/模型去噪效果好。那么对应图像,原始图像一般多多少少有噪声,通过我们自己的创新算法就可以去噪。也可以有很多客观指标来评价去噪后图像的效果的好坏。 

下图为我自己的算法处理的图像,包括处理前和处理后:

          

        可以看出我的算法,主要针对图像的光照不均进行非均匀的亮度自适应校正。当然也包含低照度图像的增强,既可以给亮度暗的区域调整亮,也可以给亮的区域自适应调整暗。就是在一幅图中不至于在给低照度增亮的同时,亮区域更亮(第三个图就是别人的算法,暗的区域亮的同时亮的区域就更亮了,显然,不是我们想要的增强目的)。

 随机加噪的作用:

        但是怎么能说明你的算法是有很强的鲁棒性,这个论文中表达的一个思想就是——给图像人为随机加噪,加不同的类型,不同的密度。可以使用不同算法去噪对比,再结合处理后图像的客观指标来比较,看自己的算法能不能经得住考验。还可以验证自己的算法是不是只能去原图的固定类噪声,我们加不同类型,如果去噪效果仍然很好,那么说明我们的算法确实有很强的鲁棒性,所以说,你算法有很强的鲁棒性,不是你说就可以的,要用实验来验证,那这种随机加噪不失为一种很好的证据。(对写论文很好的思路)


import cv2
import skimage#img = cv2.imread('E:/python/CSDN/image/1.bmp',cv2.IMREAD_GRAYSCALE)
img = cv2.imread("img/1-7.jpg")
cv2.imshow("original",img)
# fig=plt.figure(figsize=(10, 50))
#显示原图
# plt.subplot(12,3,1),plt.imshow(img,'gray'),plt.title('original')def addGaussNoise(origin,var):#添加高斯噪声函数#var = random.uniform(0.0001, 0.04)noisy = skimage.util.random_noise(origin, mode='gaussian', var=var)return noisydef addSaltNoise(origin,var):#添加椒盐噪声函数#var = random.uniform(0.01, 0.2)noisy = skimage.util.random_noise(origin, mode='s&p', amount=var)return noisydef addSpeckleNoise(origin,var):#添加乘法噪声函数#var = random.uniform(0.0001, 0.04)noisy = skimage.util.random_noise(origin, mode='speckle', var=var)return noisyimg1 = addGaussNoise(img,0.02)
img2 = addGaussNoise(img,0.04)
img3 = addGaussNoise(img,0.06)
img4 = addGaussNoise(img,0.08)
img5 = addGaussNoise(img,0.10)# img1 = addSaltNoise(img,0.02)
# img2 = addSaltNoise(img,0.04)
# img3 = addSaltNoise(img,0.06)
# img4 = addSaltNoise(img,0.08)
# img5 = addSaltNoise(img,0.10)#img = addSpeckleNoise(img)
# img1 = addSpeckleNoise(img,0.02)
# img2 = addSpeckleNoise(img,0.04)
# img3 = addSpeckleNoise(img,0.06)
# img4 = addSpeckleNoise(img,0.08)
# img5 = addSpeckleNoise(img,0.10)#显示添加噪声的原图
# # plt.subplot(12,3,4),plt.imshow(img,'gray'),plt.title('img_add_gaussin')
cv2.imshow('add1', img1)#显示读取的图
cv2.imshow('add2', img2)#显示读取的图
cv2.imshow('add3', img3)#显示读取的图
cv2.imshow('add4', img4)#显示读取的图
cv2.imshow('add5', img5)#显示读取的图# #保存图片
# cv2.imwrite("img2/2222.jpg",img1)cv2.waitKey()

原图:

加噪效果:根据常见度广泛度和分类的类型,实验选取了三种典型噪声可以充分证明算法的鲁棒性了,分别加了密度0.02,0.04,0.06,0.08,0.1

加高斯:

加椒盐:

加乘法噪声:

 1、根据图像和噪声之间的相互关系将噪声划分为以下三种形式:

  (1)加性噪声,图像中的加性噪声一般是在图像的传输过程中由“信道噪声”和CCD摄像机对图像数字化的过程中产生的。

  (2)乘性噪声,图像中的乘性噪声一般是由胶片中的颗粒、飞点扫描图像中的噪声、电视扫描光栅等原因造成的。

  (3)量化噪声,图像中的量化噪声是图像在量化过程中图像从模拟到数字所产生的差异,是图像量化过程中的误差。

2、图像中的噪声根据其概率分布的情况可以分为高斯噪声(Gaussian noise)、脉冲噪声(椒盐噪声)(Impulsive noise)、瑞利噪声(Rayleigh noise)、伽马噪声(Gamma noise)、指数噪声(Exponential noise)和均匀噪声(Uniform noise)等各种形式。

       其中高斯噪声是所有噪声当作使用最为广泛的,高斯噪声是一种加性噪声,即噪声直接加到原图像上,因此可以用线性滤波器滤除。传感器在低照明度或者高温的条件下产生的噪声就属于高斯噪声,电子电路中产生的噪声也属于高斯噪声,还有很多噪声都可以根据高斯分布(正态分布)的形式进行描述。高斯噪声模型适用于电子电路、低照度、高温引起的传感器噪声。

       椒盐噪声又称为脉冲噪声,它是一种随机出现的白点(盐噪声)或者黑点(椒噪声),可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有),类似把椒盐撒在图像上,因此得名,如电视里的雪花噪声等。椒盐噪声既不属于加性噪声也不属于乘性噪声,椒盐噪声可以认为是一种逻辑噪声,用线性滤波器滤除的结果不好,一般采用中值滤波器滤波可以得到较好的结果。椒盐噪声模型使用于成像中开关操作的误操作引起的噪声等。是图像中经常见到的一种噪声。椒盐噪声的成因可能是影像讯号受到突如其来的强烈干扰而产生、类比数位转换器或位元传输错误等。例如失效的感应器导致像素值为最小值,饱和的感应器导致像素值为最大值。


http://chatgpt.dhexx.cn/article/Y9rlAdPq.shtml

相关文章

向数据中添加高斯噪声

什么是高斯噪声 高斯噪声既是符合高斯正态分布的误差。一些情况下我们需要向标准数据中加入合适的高斯噪声会让数据变得有一定误差而具有实验价值。高斯噪声还有一些其他用途但是我不太了解,这里我是为了实现多项式拟合正弦曲线,生成数据时,…

Python 加性高斯白噪声 AWGN

高斯白噪声 概念 加性高斯白噪声(Additive White Gaussian Noise,简写AWGN) "白"是指功率谱恒定; 高斯指的是概率p (x)满足高斯函数。 在百度百科中的概念是,加性高斯白噪声在通信领域中指的是一种各频谱分…

常见的噪声分类

常见的噪声:高斯、泊松和椒盐噪声以及代码实现 转载的地址:浅析“高斯白噪声”,“泊松噪声”,“椒盐噪声”的区别 - 简书 转载的地址:散粒噪声 shot noise 泊松噪声 - sunny,lee - 博客园 转载的地址:图像…

噪 声

噪 声 一. 噪声定义 从物理学的角度来看:噪声是发声体做无规则振动时发出的声音。在图形学中,我们把各种妨碍人们对其信息接受的因素称为图像噪声 。噪声在理论上可以定义为“不可预测,只能用概率统计方法来认识的随机误差”。因此将图像噪声…

《通信原理》用matlab实现加性高斯白噪声信道实验

目录 一、实验名称 二、实验目的 三、实验原理 四、实验内容及结果 五、实验收获 一、实验名称 加性高斯白噪声信道 二、实验目的 1.掌握matlab语言的基本操作和基本的编程功能; 2.掌握awgn函数和randn函数的用法; 3.了解加性高斯白噪声信道的产生方法&…

加性高斯色噪声信道

1 加性高斯色噪声信道 对于高斯白噪声,不同时刻的样本值是不相关的。为方便,在实际应用中通常将在信号上叠加高斯白噪声,对一些算法性能进行评估。依据评估结果,指导工程设计实现。在实际工程中,高斯白噪声的不相关性并…

噪声是什么?

1.噪声的概念 日常我们说的噪声是——“除了我想听到的声音”以外的声音,就是噪声。比如我想听A君讲话,但是B君和C君在旁边喋喋不休,他们俩说的话是“我不想听到的声音”,那么他们两个的声音就是噪声。而在电路中,噪声…

噪声和信噪比的转换(如何在数据集中添加噪声)

之前参考别人的博客写了一篇,后来用的过程中发现有问题,但是相关理论部分还是可以用的。 之前我写的:https://blog.csdn.net/Kathleen_yuan/article/details/89817487 别人的推论(推论1要加个条件才能用,就是信号强度…

乘性噪声理解

来自:乘性噪声图像处理方法研究 乘性噪声普遍存在于现实世界的图像应用当中,如合成孔径雷达、超声波、激光等相干图像系统当中.与标准加性高斯白噪声相区别,乘性噪声符合瑞利或伽玛分布函数.乘性噪声对图像的污染严重&…

噪声,白噪声,加性噪声和乘性噪声

对于一个学遥感或者说做图像处理的人来说,对噪声应该很敏感。但什么是加性噪声和乘性噪声,估计有部分并不很清楚。下面简要介绍之,内容摘自http://hi.baidu.com/%D2%B9%CB%AE%BE%A7%CD%F5%BD%A8%C7%E0/blog/item/137c42bf243d9c0f19d81f82.ht…

加性噪声和乘性噪声、均值滤波器、方框滤波器、中值滤波器、高斯滤波器、双边滤波器

1.滤波器的作用 滤波,也称平滑或者模糊,主要是为了减小图像噪声和伪影,同时在降低图像分辨率的时候,平滑也是必要的。 2.认识两种噪声 首先我们来认识两种常见噪声: 椒盐噪声,也就是夹杂在图像中的黑色…

java 抽奖 高并发处理_如何设计高并发下的抽奖?

关于抽奖,需要考虑的点有很多,这里稍微整理了下主要需要考虑以下三点: 用户抽奖次数限制 奖品数量限制 奖品发放的分布 中奖的概率的可控性 用户抽象次数限制 一个用户必须限制抽奖的次数,而同一个用户的并发几率其实是很小的,所以这里可以用悲观锁来控制用户的抽奖次数。 奖品…

使用Lua脚本实现高并发处理方案

我们使用 Lua 脚本可以很轻松构建出百万并发的应用系统。 由于 Tomcat 并发处理能力弱,nginx 并发处理能力强,我们可以在 nginx 上结合 Lua 脚本来高效处理业务逻辑,不用经过 Tomcat,就能够通过 Lua 脚本来操作 Redis、Kafka、My…

Android上实现高并发,可延迟处理

目录 1.Thread和线程池优缺点对比 1.1使用Thread 1.2使用线程池 2.实现Android高并发,可延迟处理的解决方案 2.1为什么不推荐无限制创建Thread执行 2.2实现多线程并发处理解决方案 2.3具体实现如下: 2.4模拟测试多线程并发及延迟执行 1.Thread和线…

01 Nginx的高并发处理

文章目录 Nginx的高并发处理1.为什么需要Nginx?2.Nginx概述2.1 Nginx介绍2.2 Nginx和apache的优缺点2.2.1 Nginx相对于apache的优点2.2.2 apache相对于Nginx的优点2.2.3 Tengine介绍 3. Nginx的下载与安装3.1 Nginx下载3.2 Nginx的源码安装3.2.1 安装前的准备工作3.…

浅谈 高并发 处理方案

愿打开此篇对你有所帮助。 文章目录 高性能开发十大必须掌握的核心技术I/O优化:零拷贝技术I/O优化:多路复用技术线程池技术无锁编程技术进程间通信技术 Scale-out(横向拓展)缓存异步高性能、高可用、高拓展 解决方案❇ 高性能的实…

分布式架构 高并发处理

分布式架构 高并发处理 高并发介绍 在同时或者极短时间内,有大量请求到达服务端,每个请求都需要服务端耗费资源进行处理,并做出相应反馈服务端比如同时开启进程数,能同时运行的线程数、网络连接数、CPU运算、I/O、内存都是有限&am…

iis高并发处理三

使用.NET开发的Web应用程序部署到IIS上后,当有大量用户并发访问,用户在访问的时候可能会出现页面打开慢或无法打开的情况,那么从服务器上的IIS上我们可以做以下调整,让应用支持10万级以内的并发访问。 1、调整IIS 应用程序池队列…

前端优化之高并发处理

大部分的高并发处理基本都是在后端处理,但是在部分特殊情况下,后端无法阻止用户行为,需要前端做配合。例如在抢购、秒杀等场景。 高并发是什么? 对此,我们首先需要简单的去了解一下,高并发是什么&#xff1…

机器学习中的核函数与核方法(是什么?为什么?怎么做?)

我们在学习机器学习的时候,总是会看到一个概念——核,然后看到一堆公式。但是为什么要核呢?核到底是啥玩意?云里雾里。接下来,我们将要把“核”这个东西的神秘面纱一点点揭开。 一、什么是“核函数” 我们都知道&…