matlab数字图像处理(一) 基本操作

1.1  MATLAB图像处理基本操作

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

matlab数字图像处理(一) 基本操作_第1张图片

                                        Figure 1

首先,在MATLAB中显示这幅图片:

I=imread('lena.jpg');
imfinfo('lena.jpg')
imshow(I);

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

 matlab数字图像处理(一) 基本操作_第2张图片

                                            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):

matlab数字图像处理(一) 基本操作_第3张图片

                                         Figure 3

1.3    直方图

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

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

 效果如下(Figure 4):

matlab数字图像处理(一) 基本操作_第4张图片

                                     Figure 4

1.4   图像噪声的添加

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

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

I2=imnoise(I1,'gaussian');
figure,imshow(I2);

matlab数字图像处理(一) 基本操作_第5张图片

                                             Figure 5

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

matlab数字图像处理(一) 基本操作_第6张图片

                                        Figure 6

 

你可能感兴趣的:(matlab数字图像处理(一) 基本操作)