自定义比例的GS噪声和椒盐噪声的加入和阿尔法修正的均值滤波的实现
椒盐噪声的加入和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噪声和椒盐噪声的加入和阿尔法修正的均值滤波的实现相关推荐
- python+OpenCv笔记(八):图像噪声(椒盐噪声、高斯噪声)
由于图像采集.处理.传输等过程不可避免的会受到噪声的污染,妨碍人们对图像理解及分析处理.常见的图像噪声有高斯噪声.椒盐噪声等. 一.椒盐噪声 椒盐噪声也称为脉冲噪声,是图像中经常见到的一种噪声,它是一 ...
- python添加高斯噪声_使用Python-OpenCV向图片添加噪声(高斯噪声、椒盐噪声)
在matlab中,存在执行直接得函数来添加高斯噪声和椒盐噪声.Python-OpenCV中虽然不存在直接得函数,但是很容易使用相关的函数来实现. 代码: import numpy as np impo ...
- matlab去除周期噪声,matlab在空域与频域中去除周期噪声、椒盐噪声的简单应用
前言 去年图像处理的DLL,有学弟问我做的思路,便放到博客里 github地址,欢迎star 图像增强处理:设计一套空间域与频率域结合的图像增强算法,处理以下任一组图片中的带噪声图像,去除噪声,提高图 ...
- python高斯滤波和降噪_python添加高斯噪声和椒盐噪声,实现中值滤波和均值滤波,实现Roberts算子和Sobel算子...
写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验一,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验一. 由于时间紧张,代码没有进行任何优化, ...
- 浅析“高斯白噪声”,“泊松噪声”,“椒盐噪声”的区别
from:https://www.jianshu.com/p/67f909f3d0ce 在图像处理的过程中,一般情况下都进行图像增强,图像增强主要包括"空域增强"和"频域 ...
- 【OpenCV 例程200篇】92. 指数噪声、均匀噪声、椒盐噪声
[OpenCV 例程200篇]92. 指数噪声.均匀噪声.椒盐噪声 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 2 ...
- 01:高斯噪声和椒盐噪声
文章目录 前言 一.高斯噪声和椒盐噪声是什么? 二.编写程序 1.分析两者的特点 2.调用两个函数,实现添加噪声 总结 前言 记录一下手写椒盐噪声和高斯噪声的python程序. 效果图如下: 一.高斯 ...
- 通过matlab编程,对以下图像分别添加高斯噪声和椒盐噪声(参数自定),并使用理想低通滤波器、高斯低通滤波器和巴特沃斯低通滤波器进行去噪。
添加高斯噪声和椒盐噪声,并用理想低通滤波器进行去噪 t=imread('C:\Users\Administrator\Desktop\123.jpg'); subplot(3,2,1) imshow( ...
- 像素 噪声 matlab,椒盐噪声去噪_matlab 椒盐噪声_椒盐噪声图片
椒盐噪声去噪 [摘要] [摘 要]本文对中值滤波算法进行了改进,提出了一种基于噪声点检测的椒盐噪声去除方法.椒盐噪声去噪对分布在噪声范围内的点进行噪声点检测,对确定为噪声点的像素点进行中值滤波,其他像 ...
最新文章
- 互联网跨界营销掘金“大数据”
- Java 进行 RSA 加解密时不得不考虑到的那些事儿
- 比较.ASP.NET中Application,Session,Cookie,ViewState和Cache
- 关于布线设计方案+网络产品的一个网站
- Nginx 负载均衡器(1+2)
- 关于iOS 3D touch 指纹验证的随笔
- 4倍速!ML.NET Model Builder GPU 与 CPU 对比测试
- 安装用户debian7安装oracle11g
- JavaMelody开源系统性能监控软件:
- Atitit dsl exer v3 qb3 新特性
- Atitit.研发团队与公司绩效管理的原理概论的attilax总结
- 唐宇迪学习笔记12:sklearn构造决策树
- Python编程 | 颜色分类
- 360浏览器插件360抢票王火车票刷票技巧
- php课程banner,5种关于banner图的实例代码
- C语言 将一个3*3的矩阵转置,用函数和指针实现
- 测试|模拟器Genymotion、Emulator、夜神配置选择
- 阿里云云服务器服务协议(通用与专用服务条款)
- 以TM32最小系统核心板(STM32F103C8T6)为主,实现led流水灯
- 【SPOJ 7258】Lexicographical Substring Search
热门文章
- 二层非网管全百兆工业级交换机DIN导轨式宽温防雷室外监控交换机 五口百兆工业级以太网交换机
- Android stutio实现飞机大战
- shell 脚本参数$10
- 雷军“患”上了人才焦虑症
- Android IBinder的linkToDeath介绍及情景模拟
- 使用 KubeKey 搭建 Kubernetes/KubeSphere 环境的“心路(累)历程“
- SQL索引建立原则和使用
- [原创]IRC命令之CTCP
- NBUT 1457 Sona 莫队算法 分块处理
- Portkey——打造人人皆是艺术家的NFT市场