imread函数 matlab_数字图像处理(matlab)

6e550990734820127a47f3054ade7cfd.gif

Hi~新朋友,记得点蓝字关注我们哟

d1301cc1269e81720eed6da05f1a7e85.gif dbefec9cef0f2daf73975ed6c20957cf.png

一.imnoise函数

我们通常使用imnoise函数来使用噪声来污染一幅图像,该函数的基本语法为:

g = imnoise(f, type, parameters)

其中g是添加噪声之后的图像,f是原图像,type是加入的噪声类型,parameters是噪声的一些参数。函数给图像添加噪声之前,要将它转换为范围【0,1】内的double类图像。例如,

要将均值为64,方差为400的高斯噪声添加到一幅uint8类图像上,需要将均值标度为64/255并将方差标度为400/(255^2)后,作为imnoise的输入,具体代码如下:

f=imread('mn.jpeg'); 

g=rgb2gray(f);g1=imnoise(g,'gaussian',0.251,0.00615);subplot(1,2,1);imshow(g) 

title('原图像的灰度图');

subplot(1,2,2);imshow(g1) 

title('加噪声后的图像');

4c1461c2688b33d1183dd5a8c83f5f12.png

上面是效果图。

imnoise函数有如下的几种表达形式

g=imnoise(f,‘gaussian’,m,var)

将均值m,方差为var的高斯噪声添加到原图像上,默认值是0,方差为0.01的噪声,这种是最为普遍的表达形式,务必要掌握。后面的可以了解,收藏本文,需要的时候可以查阅。

g=imnoise(f,‘localvar’,v)

将均值为0,局部方差为v的高斯噪声添加到源图像上。其中V是一个大小与f相同的数组,它在每个点包含了期望的方差值。

g=imnoise(f,‘localvar’,image_intensity,var)

将均值为0的高斯噪声添加到图像f上,其中噪声的局部方差var是图像f的亮度值的函数,image_intensity是和var大小相同的自变量。

g=imnoise(f,‘salt&pepper’,d)

用椒盐噪声污染图像f,其中d是噪声密度,默认值为0.05。

g=imnoise(f,‘speckle’,var)

使用方程g=f+n.*f将乘性噪声添加到f上,其中n是均值为0,方差为var(默认为0.04)的均匀分布的随机噪声。

g= imnoise(f, 'poisson')

从数据中生成泊松噪声,而不是将人工的噪声添加到数据中。为了遵守泊松统计,uint8类和uintl 6类图像的亮度必须和光子(或其他任何的量子信息)的数量相符合。当每像素的光子数量大于65535(但小于10^12)时,就要使用双精度图像。亮度值在0和1之间变化,并且对应于光子的数量除以10^12。

imnoise能够生成空间随机噪声,空间噪声值是随机数,下面我们介绍一种更有意义的,更接近源代码的利用函数rand生成均匀随机数以及利用函数randen生成正态(高斯)随机数。

二.使用指定的分布产生空间随机噪声

下面这张表是随机数生成器方程,它确定了生成期望随机数的方式

14046b022dad177d11e69d7a4a0c555d.png

z的表达式有时称为随机数生成器方程,它确定了生成期望随机数的方式,我们用具体的代码演示一下,假设有一个在(0,1)内的均匀随机数w的生成器,并假设我们要用该生成器来生成具有瑞丽CDF的随机数z,代码如下:

R = a + sqrt (b*log(1-rand(M,N)));

R即为我们生成的随机数组。(PDF是概率密度函数,CDF是累积分布函数)

譬如均匀分布,我们直接写:

A=rand(M,N)

该函数产生一个大小为M*N的数组,这个数组的元素为在区间(0 1)内均匀分布的数。函数imnoise2就是使用了rand函数,imnoise2和imnoise的不同是imnoise函数输出一个有噪声的图像,而imnoise2函数产生噪声模式本身。

三,仅有噪声的复原:空间滤波

仅有噪声的复原我们一般空间滤波的方法,空间滤波的内容可以参考我的另外两篇文章:

MATLAB中的图像变换之线性空间滤波

(https://zhuanlan.zhihu.com/p/187517189)

MATLAB中的非线性空间滤波基础

(https://zhuanlan.zhihu.com/p/188709728)

这两篇文章上面的还是不太全面,全面了解空间滤波的知识可以查看下面这张表,可以按照自己所需要的查阅,不懂的函数可以去官网查看。

d8a9745e2ffa9265d6fa8aa276dd07dd.png

本期讲解到此结束!

欢迎大家加入我们的MATLAB学习交流群:
953314432

往期回顾

032fcdaa31defeb754adbedad04a6953.gif

matlab非线性方程求解与函数极值计算

数学建模与MATLAB--层次分析法(评价类问题)

MATLAB线性方程组求解

关注我们 发现更多精彩

出品:Asoul水云天课堂工作室

530735a49e15cbd352815d4ed1e094d2.png 221908e8e5ec8b47ed8a7d6ad18da6fe.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值