椒盐噪声的加入和GS噪声的加入程序已经烂大街(GS噪声公式很不好想,可能会间歇性遗忘),在这主要是展示下特定比例的实现(其实也很简单)代码直接粘了:

jiaoyan:

im=double(imread('board-orig.bmp'));[m,n]=size(im);imout=zeros(m,n);for i=1:mfor j=1:nt=rand;if t>0.2imout(i,j)=im(i,j);elseif t<0.1imout(i,j)=255;elseimout(i,j)=0;endend
endim3=uint8(imout);
imshow(im3);

GSNoise:

function im2 = GSNoise(im, e, sigma)
[m,n] = size(im);
randm=rand(m,n);                    %生成随机矩阵(0-1)
GSm=randm<0.2;                      %选取百分之20的点加噪
for i = 1:mfor j = 1:ntemp = rand(1)*255 - 255/2;  %产生-127-127的随机数sigma2 = sigma*sigma*2;PI2 = pi*2;sigmaPI2 = sqrt(PI2*sigma);GaussValue  = exp(-temp/sigma2)/sigmaPI2;im2(i,j) = im(i,j) + (e + sigma*GaussValue)*GSm(i,j);end
end
imshow(im2);
end

带阿尔法修正的均值滤波主要涉及到一个排序操作,第二次写卷积,不是很熟练,代码可能有冗杂。

AF.m

function im4 = AF(im2,si,d)              %si:卷积和边长;d:被去掉的首尾数
[m,n] = size(im2);                       %控制台输入加噪图像'im2'
NoiseNum = m*n;
s=(si-1)/2;                              %si:要扩充的边长值
im22=zeros(m+s,n+s);                     %构造扩充边缘矩阵
im22(s+1:s+m,s+1:s+n)=im2;
for ii=1:s
im22(ii,s+1:s+n)=im2(1,:);              %上方行
im22(ii+m+s,s+1:s+n)=im2(m,:);          %下方行
im22(s+1:s+m,ii)=im2(:,1);              %左部列
im22(s+1:s+m,ii+n+s)=im2(:,n);          %右部列
end
for iii=1:sfor jjj=1:sim22(iii,jjj)=im2(1,1);        %左上角im22(s+m+iii,jjj)=im2(m,1);    %左下角im22(iii,s+n+jjj)=im2(1,n);    %右上角im22(s+m+iii,s+n+jjj)=im2(m,n);%右下角end
endfor i = s+1:s+mfor j = s+1:s+npick_=im22(i-(si-1)/2:i+(si-1)/2,j-(si-1)/2:j+(si-1)/2);%取邻域pick=reshape(pick_',1,si*si);                           %变向量方便排序% pick=[im1(i-1,j-1),im1(i-1,j),im1(i-1,j+1),im1(i,j-1),im1(i,j),im1(i,j+1),im1(i+1,j-1),im1(i+1,j),im1(i+1,j+1)];%pick1=reshape(pick,3,3);%pick2=pick1';[paixu index]=sort(pick);     %排序并记录索引      zhongjian(1,1:si*si)=1;       %中间矩阵方便计算、转换for k=1:d/2zhongjian(1,index(1,k))=0;            %去最小值(椒)zhongjian(1,index(1,si*si+1-k))=0;    %去最大值(盐)endfilter1=reshape(zhongjian,si,si);     %转回为矩阵filter2=filter1';                     %转回为矩阵pick_=double(pick_);filter2=double(filter2);im4(i-s,j-s)=sum(sum((pick_.*filter2))')/(si*si-d);  %滤波过程,mn-d个像素取平均;endend    im4=uint8(im4);im22=uint8(im22);subplot(2,2,1);imshow(im2);title('高斯噪声');subplot(2,2,2);imshow(im4);title('高斯噪声阿尔法');subplot(2,2,3);imshow(im22);title('im22');
end

自定义比例的GS噪声和椒盐噪声的加入和阿尔法修正的均值滤波的实现相关推荐

  1. python+OpenCv笔记(八):图像噪声(椒盐噪声、高斯噪声)

    由于图像采集.处理.传输等过程不可避免的会受到噪声的污染,妨碍人们对图像理解及分析处理.常见的图像噪声有高斯噪声.椒盐噪声等. 一.椒盐噪声 椒盐噪声也称为脉冲噪声,是图像中经常见到的一种噪声,它是一 ...

  2. python添加高斯噪声_使用Python-OpenCV向图片添加噪声(高斯噪声、椒盐噪声)

    在matlab中,存在执行直接得函数来添加高斯噪声和椒盐噪声.Python-OpenCV中虽然不存在直接得函数,但是很容易使用相关的函数来实现. 代码: import numpy as np impo ...

  3. matlab去除周期噪声,matlab在空域与频域中去除周期噪声、椒盐噪声的简单应用

    前言 去年图像处理的DLL,有学弟问我做的思路,便放到博客里 github地址,欢迎star 图像增强处理:设计一套空间域与频率域结合的图像增强算法,处理以下任一组图片中的带噪声图像,去除噪声,提高图 ...

  4. python高斯滤波和降噪_python添加高斯噪声和椒盐噪声,实现中值滤波和均值滤波,实现Roberts算子和Sobel算子...

    写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验一,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验一. 由于时间紧张,代码没有进行任何优化, ...

  5. 浅析“高斯白噪声”,“泊松噪声”,“椒盐噪声”的区别

    from:https://www.jianshu.com/p/67f909f3d0ce 在图像处理的过程中,一般情况下都进行图像增强,图像增强主要包括"空域增强"和"频域 ...

  6. 【OpenCV 例程200篇】92. 指数噪声、均匀噪声、椒盐噪声

    [OpenCV 例程200篇]92. 指数噪声.均匀噪声.椒盐噪声 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 2 ...

  7. 01:高斯噪声和椒盐噪声

    文章目录 前言 一.高斯噪声和椒盐噪声是什么? 二.编写程序 1.分析两者的特点 2.调用两个函数,实现添加噪声 总结 前言 记录一下手写椒盐噪声和高斯噪声的python程序. 效果图如下: 一.高斯 ...

  8. 通过matlab编程,对以下图像分别添加高斯噪声和椒盐噪声(参数自定),并使用理想低通滤波器、高斯低通滤波器和巴特沃斯低通滤波器进行去噪。

    添加高斯噪声和椒盐噪声,并用理想低通滤波器进行去噪 t=imread('C:\Users\Administrator\Desktop\123.jpg'); subplot(3,2,1) imshow( ...

  9. 像素 噪声 matlab,椒盐噪声去噪_matlab 椒盐噪声_椒盐噪声图片

    椒盐噪声去噪 [摘要] [摘 要]本文对中值滤波算法进行了改进,提出了一种基于噪声点检测的椒盐噪声去除方法.椒盐噪声去噪对分布在噪声范围内的点进行噪声点检测,对确定为噪声点的像素点进行中值滤波,其他像 ...

最新文章

  1. 互联网跨界营销掘金“大数据”
  2. Java 进行 RSA 加解密时不得不考虑到的那些事儿
  3. 比较.ASP.NET中Application,Session,Cookie,ViewState和Cache
  4. 关于布线设计方案+网络产品的一个网站
  5. Nginx 负载均衡器(1+2)
  6. 关于iOS 3D touch 指纹验证的随笔
  7. 4倍速!ML.NET Model Builder GPU 与 CPU 对比测试
  8. 安装用户debian7安装oracle11g
  9. JavaMelody开源系统性能监控软件:
  10. Atitit dsl exer v3 qb3 新特性
  11. Atitit.研发团队与公司绩效管理的原理概论的attilax总结
  12. 唐宇迪学习笔记12:sklearn构造决策树
  13. Python编程 | 颜色分类
  14. 360浏览器插件360抢票王火车票刷票技巧
  15. php课程banner,5种关于banner图的实例代码
  16. C语言 将一个3*3的矩阵转置,用函数和指针实现
  17. 测试|模拟器Genymotion、Emulator、夜神配置选择
  18. 阿里云云服务器服务协议(通用与专用服务条款)
  19. 以TM32最小系统核心板(STM32F103C8T6)为主,实现led流水灯
  20. 【SPOJ 7258】Lexicographical Substring Search

热门文章

  1. 二层非网管全百兆工业级交换机DIN导轨式宽温防雷室外监控交换机 五口百兆工业级以太网交换机
  2. Android stutio实现飞机大战
  3. shell 脚本参数$10
  4. 雷军“患”上了人才焦虑症
  5. Android IBinder的linkToDeath介绍及情景模拟
  6. 使用 KubeKey 搭建 Kubernetes/KubeSphere 环境的“心路(累)历程“
  7. SQL索引建立原则和使用
  8. [原创]IRC命令之CTCP
  9. NBUT 1457 Sona 莫队算法 分块处理
  10. Portkey——打造人人皆是艺术家的NFT市场