matlab计算多张图像的灰度直方图_MATLAB图像处理基本操作

98e308595771187d8263d737b9092b89.png

本文中对于大多数的操作,是对数字图像处理领域中最为著名的“lena”图片进行操作的。原图如下(Figure 1):

9cedcfe2f81bfd8817eff45501e620e0.png

本文中对于大多数的操作,是对数字图像处理领域中最为著名的“lena”图片进行操作的。原图如下(Figure 1):

I=imread('lena.jpg');

imfinfo('lena.jpg')

imshow(I);

其中,imread()可以读取图片,imfinfo()可以获取图片的信息(Figure 2),imshow()可以显示图片。

294ab4ef4966be783928b689e584a7eb.png

Figure 2

从Figure 2中可以看出,该图片格式为png,长宽均为512px,颜色类型为真彩色。

处理后的图片还需要进行保存:

imwrite(I,'lenaSave.jpg');

1.2 图像数字化

使用imread()读取图像后,可以看到,读入的图片I是以一个512*512*3的矩阵进行保存的,即分别是RGB颜色的数字图片。为了方便起见,在本文中,笔者将lena图进行了转换,转换为灰度图,即保存为一个512*512*1的矩阵。

为了完成这样一个步骤,MATLAB中提供了相应的函数:

I1=rgb2gray(I);

imshow(I1);

I1以512*512*1的矩阵形式进行存储。效果如下图(Figure 3):

71fbffb2315e2aa5dd369d8370aa1ec4.png

Figure 3

为了显示图像灰度的分布情况,还需要绘制灰度直方图。可以使用如下代码:

figure,imhist(I1);%显示图片灰度值的统计结果直方图

效果如下(Figure 4):

f07e6a25caaa37c1902a331e6103c70c.png

1.4 图像噪声的添加

为了完成多种图像处理的操作和试验,还可以对图片添加噪声。所用函数为imnoise (I, type),该函数中的type可以为5种噪声参数,分别为:'gaussian'(高斯白噪声),'localvar'(与图象灰度值有关的零均值高斯白噪声),'poisson'(泊松噪声),'salt & pepper'(椒盐噪声)和'speckle'(斑点噪声)。

以下为高斯噪声(Figure 5)和椒盐噪声(Figure 6)的代码和效果:

I2=imnoise(I1,'gaussian');

figure,imshow(I2);

380393251c3e3e4f31088a32b8097cc4.png

I3=imnoise(I1,'salt & pepper');

figure,imshow(I3);

afdffa7176a7f02553bc17e3e7dbd5c7.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值