MATLAB--数字图像处理 添加椒盐噪声

简介: MATLAB--数字图像处理 添加椒盐噪声

添加椒盐噪声
    椒盐噪声也称为脉冲噪声,是图像中经常见到的一种噪声,它是一种随机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有)。盐和胡椒噪声的成因可能是影像讯号受到突如其来的强烈干扰而产生、类比数位转换器或位元传输错误等。例如失效的感应器导致像素值为最小值,饱和的感应器导致像素值为最大值。

方法一:利用imnoise()函数

t=imread('a1.jpg');
subplot(1,2,1),imshow(t),title('原图');
t1=imnoise(t,'salt & pepper',0.1);
subplot(1,2,2),imshow(t1),title('加入噪声密度:0.1的椒盐噪声');
t2=imnoise(t,'salt & pepper',0.2);
figure,subplot(1,2,1),imshow(t2),title('加入噪声密度:0.2的椒盐噪声');
t3=imnoise(t,'salt & pepper',0.3);
subplot(1,2,2),imshow(t3),title('加入噪声密度:0.3的椒盐噪声');

效果图:
在这里插入图片描述
在这里插入图片描述
注意:

  • 噪声类型是 'salt & pepper' 一定注意空格的位置 这里比较严格
  • 当噪声类型是'salt & pepper'的时候,第三个参数的意思是噪声密度,比如0.1,那么总像素个数的10%为黑白点,当然是黑点还是白点都是随机的。

方法二:自己构造随机点

image=imread('a1.jpg');
[width,height,z]=size(image);

result2=image;
subplot(1,2,1)
imshow(image);
title('原图');

%k1、k2作为判断临界点
k1=0.2;
k2=0.2;
%rand(m,n)是随机生成m行n列的矩阵,每个矩阵元素都在0-1之间
%这里k都是0.2,所以小于k的元素在矩阵中为1,反之为0
a1=rand(width,height)<k1;
a2=rand(width,height)<k2;
%合成彩色图像
t1=result2(:,:,1);
t2=result2(:,:,2);
t3=result2(:,:,3);
%分成黑点 白点 随机
t1(a1&a2)=0;
t2(a1&a2)=0;
t3(a1&a2)=0;
t1(a1& ~a2)=255;
t2(a1& ~a2)=255;
t3(a1& ~a2)=255;
result2(:,:,1)=t1;
result2(:,:,2)=t2;
result2(:,:,3)=t3;
subplot(1,2,2)
imshow(result2);
title('加椒盐噪声后');

效果图:
在这里插入图片描述

代码说明:
1.c=rand(10,10)
在这里插入图片描述
2.a=c<0.2
凡是第一步生成的10*10矩阵中元素小于0.2的元素都变成1,其余为0(和c++的0假1真差不多),这一步就是模拟噪声密度,小于0.2相当于有20%的像素点。
在这里插入图片描述
3.b=rand(10,10)<0.2
在这里插入图片描述
4.在分别a&b a&~b
a&b:a和b队员元素都为1的时候,则结果为1,反正为0. 显示白点或者黑点
a&~b:a为1 b为0时,结果为1 显示黑点或者白点
这里都是以a为基准,只有a为1的点才可能成为黑白点,而a为1的点就是通过限制临界值获得的,其实就是imnoise中的噪声密度值。

目录
相关文章
|
8天前
|
机器学习/深度学习 算法 数据安全/隐私保护
数据链中常见电磁干扰matlab仿真,对比噪声调频,线性调频,噪声,扫频,灵巧五种干扰模型
本项目展示了用于分析和模拟电磁干扰对数据链系统影响的算法。通过Matlab 2022a运行,提供无水印效果图预览。完整代码包含详细中文注释及操作视频。理论部分涵盖五种常见干扰模型:噪声调频、线性调频、噪声、扫频和灵巧干扰,详细介绍其原理并进行对比分析。灵巧干扰采用智能技术如认知无线电和机器学习,自适应调整干扰策略以优化效果。
|
5月前
|
Windows
基于MATLAB实现的OFDM仿真调制解调,BPSK、QPSK、4QAM、16QAM、32QAM,加性高斯白噪声信道、TDL瑞利衰落信道
本文通过MATLAB仿真实现了OFDM系统中BPSK、QPSK、4QAM、16QAM和32QAM调制解调过程,并在加性高斯白噪声信道及TDL瑞利衰落信道下计算了不同信噪比条件下的误比特率。
295 4
基于MATLAB实现的OFDM仿真调制解调,BPSK、QPSK、4QAM、16QAM、32QAM,加性高斯白噪声信道、TDL瑞利衰落信道
|
7月前
|
算法
m基于GA遗传优化的高斯白噪声信道SNR估计算法matlab仿真
**MATLAB2022a模拟展示了遗传算法在AWGN信道中估计SNR的效能。该算法利用生物进化原理全局寻优,解决通信系统中复杂环境下的SNR估计问题。核心代码执行多代选择、重组和突变操作,逐步优化SNR估计。结果以图形形式对比了真实SNR与估计值,并显示了均方根误差(RMSE),体现了算法的准确性。**
74 0
|
8月前
matlab如何从信号中去除60 Hz Hum电源线噪声
matlab如何从信号中去除60 Hz Hum电源线噪声
|
8月前
|
计算机视觉
【matlab】去除图片上的噪声
matlab去除图片上的噪声
|
编解码 算法 数据可视化
【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)
【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)
118 0
|
8月前
|
计算机视觉
数字图像处理笔记(一)Matlab实现直方图均衡化
数字图像处理笔记(一)Matlab实现直方图均衡化
|
机器学习/深度学习 人工智能 算法
基于人工神经网络的类噪声环境声音声学识别(Matlab代码实现)
基于人工神经网络的类噪声环境声音声学识别(Matlab代码实现)
138 0
基于ARMR和白噪声特性模型及风速威布尔分布研究(Matlab代码实现)
基于ARMR和白噪声特性模型及风速威布尔分布研究(Matlab代码实现)
124 0
|
算法
基于高分辨率时频分析的单通道地震数据自动噪声衰减方法(Matlab代码实现)
基于高分辨率时频分析的单通道地震数据自动噪声衰减方法(Matlab代码实现)
110 0

热门文章

最新文章