Matlab数字图像处理常用函数

1. imread()

作用:从图形文件读取图像。
语法:

1
A = imread(filename)

示例:

1
2
im = imread('bear.jpg');
imshow(im)

显示结果:

显示结果

2. imshow()

作用:显示图像。
语法:

1
2
3
4
5
6
7
imshow(I)                   %在图窗中显示灰度图像 I
imshow(I,[low high])        %显示灰度图像 I,以二元素向量 [low high] 形式指定显示范围
imshow(I,[])                %显示灰度图像 I,根据 I 中的像素值范围对显示进行转换
imshow(RGB)                 %在图窗中显示真彩色图像 RGB
imshow(BW)                  %在图窗中显示二值图像 BW
imshow(X,map)               %显示带有颜色图 map 的索引图像 X
imshow(filename)            %显示存储在由 filename 指定的图形文件中的图像

3. subplot()

作用:在平铺位置创建坐标区。
语法:

1
subplot(m,n,p) %将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区

示例:

1
2
3
4
5
6
7
8
9
10
11
12
subplot(1,3,1);
x = linspace(0,10);
y1 = sin(x);
plot(x,y1)

subplot(1,3,2);
y2 = cos(2*x);
plot(x,y2)

subplot(1,3,3);
y3 = tan(x);
plot(x,y3)

显示结果:
显示结果

4. imadd()

作用:添加两个图像或向图像添加常量。
语法:

1
Z = imadd(X,Y)   %将数组中的每个元素与数组X中的对应元素Y相加,并返回输出数组中相应元素的和Z

示例1:

1
2
3
4
5
6
7
%实现两个图像的像素叠加
im1 = imread('bottle.png');
im2 = imread('sky.png');
im3 = imadd(im1,im2);
subplot(1,3,1),imshow(im1)
subplot(1,3,2),imshow(im2)
subplot(1,3,3),imshow(im3)

显示结果:
显示结果示例2:

1
2
3
4
5
%实现亮度的增加
im1 = imread('bottle.png');
im2 = imadd(im1,50);
subplot(1,2,1),imshow(im1)
subplot(1,2,2),imshow(im2)

显示结果:
显示结果

5. imabsdiff()

作用:两个图像的绝对差。
语法:

1
Z = imabsdiff(X,Y)    %计算X和Y像素之差的绝对值

示例:

1
2
3
4
5
6
7
%实现两个图像的像素相减
im1 = imread('bottle.png');
im2 = imread('sky.png');
im3 =  imabsdiff(im1,im2);
subplot(1,3,1),imshow(im1)
subplot(1,3,2),imshow(im2)
subplot(1,3,3),imshow(im3)

显示结果:
显示结果

6. imresize()

语法:

1
2
Y = imresize(X,M)          % M>1:放大,0<M<1:缩小
Y = imresize(X,[M N])      % 产生MxN大小的图像

7. imrotate()

作用:实现图像的旋转。
语法:

1
2
3
J = imrotate(I,angle)                 %angle是逆时针旋转的角度
J = imrotate(I,angle,method)          %使用指定的插值方法 旋转图像method
J = imrotate(I,angle,'crop')   %裁剪旋转后的图像

示例:

1
2
3
4
5
6
I=imread('bear.jpg');
J1=imrotate(I,45);    
J2=imrotate(I,45,'crop');
subplot(1,3,1),imshow(I);
subplot(1,3,2),imshow(J1);
subplot(1,3,3),imshow(J2);

显示图像:
显示图像