Matlab图像处理函数
· 读取图像文件到数据数组I:
I=imread(‘FILENAME. FMT’) ;
其中,FILENAME为文件名,FMT为图像格式;例如I=imread(‘girl, bmp’),即从当前路径读图像文件girl.bmp的数据,并保存到矩阵I中。
如果图像文件为灰度图像格式,则I为m×n的矩阵。
特别提示:读取图像的数据矩阵的数据类型为uint8(8位无符号整数),如果进行四则运算,须要先转换为double数据类型。完成运算后,再转换为uint8的图像数据类型。
转换为double数据类型:I=double(I);
转换为uint8的数据类型:I=uint8(I);
· 将彩色图像转换为灰度图像:
I= rgb2gray(I);
即:I从m×n×3的数组转换为m×n的矩阵。
· 获取图像数据的数组的大小:
对于灰度图像:
[m, n]=size(I);
m为图像的总行数,n为图像的总列数
· 显示图像:
(1)imshow(‘FILENAME.FMT’); 其中FILENAME为当前路径下的图像文件名, FMT为图像格式。例如:imshow(‘girl.bmp’); 将当前路径下的图像文件girl.bmp进行显示。
(2)imshow(I); 将矩阵I对应的图像进行显示。
(3)在一个窗口中同时显示多个图像:例如,以下语句用于显示4幅图像,排成两行两列;另外,还采用了title函数,以便在图像上方添加标题:
subplot(2,2,1), imshow(I1), title(‘图像1’);
subplot(2,2,2), imshow(I2) , title(‘图像2’);
subplot(2,2,3), imshow(I3) , title(‘图像3’);
subplot(2,2,4), imshow(I4) , title(‘图像4’);
· 保存图像文件:
imwrite(I, ‘FILENAME.FMT’);
其中I是图像数据矩阵,FILENAME是保存文件的名称,FMT是保存文件的格式。
例如:imwrite(I, ’girl.bmp’); 该命令用于将图像矩阵I保存到当前路径下,文件名为girl,格式为bmp文件。
【编程注意事项】
1)将matlab的当前路径设置到存放图像文件的文件夹;
2)在新建的.m文件中进行编程;
3)程序开始,写clc 与 clear语句;赋值语句后面加分号“;”
4)采用双重循环语句,逐个处理每个象素,例如对于图像I,使其变为三种颜色:
(注意分号;elseif语句)
for i=1: m
for j=1: n
if j<0.3*n I(i, j)=122;
elseif j<0.7*n I(i, j)=52;
else I(i, j)=162;
end
end
end