数字图像中关于添加噪声及噪声处理

  • MATLAB源代码
  • 图像处理结果
  • 分析
  • 说明

MATLAB源代码

A = imread(‘yuantu.jpg’);
A = rgb2gray(A);
A1 = imnoise(A,‘speckle’,0.1);
A2 = imnoise(A, ‘salt & pepper’ ,0.1);
subplot(3,2,1),imshow(A1),title(‘加入乘性噪声后的图像’);
subplot(3,2,2),imshow(A2),title(‘加入椒盐噪声后的图像’);
subplot(3,2,3),imshow(junzhi(A1,3)),title(‘乘性噪声均值滤波’);
subplot(3,2,4),imshow(junzhi(A2,3)),title(‘椒盐噪声均值滤波’);
subplot(3,2,5),imshow(zhongzhi(A1,3)),title(‘乘性噪声中值滤波图像’);
subplot(3,2,6),imshow(zhongzhi(A2,3)),title(‘椒盐噪声中值滤波图像’);

%调用函数
function d=junzhi(x,n)
a(1:n,1:n)=1; %a即n×n模板,元素全是1
p=size(x); %输入图像是p×q的,且p>n,q>n
x1=double(x);
x2=x1;
%A(a:b,c:d)表示A矩阵的第a到b行,第c到d列的所有元素
for i=1:p(1)-n+1
for j=1:p(2)-n+1
c=x1(i:i+(n-1),j:j+(n-1)).a; %取出x1中从(i,j)开始的n行n列元素与模板相乘
s=sum(sum©); %求c矩阵(即模板)中各元素之和
x2(i+(n-1)/2,j+(n-1)/2)=s/(n
n); %将模板各元素的均值赋给模板中心位置的元素
end
end
%未被赋值的元素取原值
d=uint8(x2);
end

%调用函数
function d=zhongzhi(x,n)
p=size(x); %输入图像是p×q的,且p>n,q>n
x1=double(x);
x2=x1;
for i=1:p(1)-n+1
for j=1:p(2)-n+1
c=x1(i:i+(n-1),j:j+(n-1)); %取出x1中从(i,j)开始的n行n列元素,即模板(n×n的)
e=c(1,:); %是c矩阵的第一行
for u=2:n
e=[e,c(u,:)]; %将c矩阵变为一个行矩阵
end
mm=median(e); %mm是中值
x2(i+(n-1)/2,j+(n-1)/2)=mm; %将模板各元素的中值赋给模板中心位置的元素
end
end
%未被赋值的元素取原值
d=uint8(x2);
end

图像处理结果

分析

均值滤波:本题的方法是将图像数据生成3x3的矩阵模板,然后对这个矩阵模板进行处理。在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围 8 个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。就是对这九个数求个平均值代替中间的那个数。
中值滤波:特点即是首先确定一个以某个像素为中心点的邻域,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口。
根据处理图像后的结果,我觉得中值滤波处理噪声效果更好。

说明

代码部分有借鉴网上作者

数字图像中关于添加噪声及噪声处理相关推荐

  1. matlab对有周期性噪声的图像去噪,数字图像中去除周期性噪声研究.doc

    摘要:图像增强是数字图像处理相对简单却最具艺术性的领域之一,其目的是消除噪声,显现被模糊的细节或突出感兴趣区域.经常采用的手段分空域和频域两类,其中频域更是给我们提供了不同的视角,简化了许多复杂的算法 ...

  2. python中值滤波去除椒盐噪声_python 中值滤波,椒盐去噪,图片增强实例

    受光照.气候.成像设备等因素的影响,灰度化后的图像存在噪声和模糊干扰,直接影响到下一步的文字识别,因此,需要对图像进行增强处理.图片预处理中重要一环就是椒盐去澡,通常用到中值滤波器进行处理,效果很好. ...

  3. 数字图像处理——添加高斯噪声椒盐噪声

    数字图像处理--添加高斯噪声&椒盐噪声 本文链接:https://blog.csdn.net/u012936765/article/details/53200918 最近交了数图作业,mark ...

  4. [转载] opencv-python:13_图像噪声(噪声的概念、椒盐噪声、高斯噪声、使用python给图像添加噪声)

    参考链接: Python OpenCV 基础 0: imshow 显示图像 图像噪声 学习两种图像噪声,即椒盐噪声和高斯噪声.使用python实现给图像添加椒盐噪声和高斯噪声 一.噪声的概念 在噪声的 ...

  5. python实现图像添加噪声、噪声处理、滤波器代码实现

    目录 加载图像添加噪声 图像傅里叶变换和反变换并可视化 图像处理---高通滤波.低通滤波.带通滤波 低通滤波器---Butterworth低通滤波器.理想低通滤波器.高斯低通滤波器 加载图像添加噪声 ...

  6. 图像处理实验,中值滤波处理椒盐噪声

    一.实验目的 图像变换是数字图像处理中的一种综合变换,如直方图变换.几何变换等.通过本实验,掌握中值滤波处理. 二.实验任务 设计程序,用中值滤波法(模板的大小为3×3).进行去噪处理. 得出实验结果 ...

  7. 使用Python为图片添加空间相关噪声(相干噪声)

    当我们进行图像处理.计算机视觉或深度学习任务时,通常需要对图像数据添加一些噪声.通过添加噪声,我们可以使模型更加鲁棒,防止过拟合,并提高泛化能力.而空间相关噪声是一种特殊类型的噪声,它在像素之间存在一 ...

  8. ThreeJS 中体渲染,利用噪声模拟烟,云

    ThreeJS 中体渲染,利用噪声模拟烟,云 体渲染的东西也看了一段时间了,这里结合Three.js中体积云的例子,实现shdertoy中的一个效果,先放效果图. Fire2 (shadertoy.c ...

  9. DataScience:数据生成之在原始数据上添加小量噪声进而实现构造新数据

    DataScience:数据生成之在原始数据上添加小量噪声进而实现构造新数据 目录 数据生成之在原始数据上添加小量噪声进而实现构造新数据 输出结果 设计思路 相关文章 DataScience:数据生成 ...

最新文章

  1. linux检查socekt是否断开,如何在C语言中判断socket是否已经断开
  2. Leetcode上的题目
  3. Shell中自定义函数
  4. Win10 owerShell Get命令大全
  5. 管理角色认知-工程师到管理者角色发生了哪些变化?
  6. btoa java,JavaScript用btoa和atob来编码解码Base64
  7. Item 1:Always Use Properties Instead of Accessible Date Members
  8. Linux查看被监听的端口
  9. 使用卡方分箱进行数据离散化-python实现
  10. python re模块findall_python re模块findall()函数实例解析
  11. 手把手教你如何自学计算机,绝对的干货满满!!!
  12. python提取图片中的数字_用Python-OpenCV从车牌图像中提取数字和字母
  13. yarn : 无法加载文件 C:\Users\L\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本
  14. Goolge Colab使用教程
  15. 简单好用的桌面日历便签软件有哪些?
  16. java为Word插入图片水印
  17. 【GMS认证】【CTS-Verifier】 关于Camera ITS测试命令总结
  18. Intel oneAPI Base Toolkit 安装教程(Linux)
  19. python字体类型arial_python-3.x - 为什么我的font.name属性不影响使用Python-pptx制作的ppt上的字体? 我总是得到arial字体 - 堆栈内存溢出...
  20. Windows下虚拟键盘鼠标(USB中文网)

热门文章

  1. 图的存储__十字链表法和邻接多重表法
  2. 利用matlab实现DMD动态模态分解(在一维信号或二维流场矢量中的应用)
  3. 7-18 银行业务队列简单模拟
  4. 【强化学习入门】三.马尔可夫家族中的MP、MRP、MDP分别是什么?
  5. 【Selenium Grid 分布式测试】Selenium Grid-简介
  6. 欧姆龙PLC CP1E如何实现远程上下载和编程调试?
  7. 精选C#毕业设计83套——源码+论文完整资源
  8. Lisp语言:列表(List)
  9. 国内三大运营商的WLAN上网,你了解多少?
  10. 用java代码实现查询数据库