MATLAB图像处理常用函数

Author Avatar
kabeor 3月 31, 2019

MATLAB图像处理常用函数

期末考完一直在忙着写机器学习图像识别的项目,简单记录一下

数字图像的读取

imread

imread( ‘filename’ );
其中,filename是一个含有图像文件全名的字符串,包括文件的扩展名。单引号‘’来界定filename字符串。结尾处用分号在MATLAB中用于取消输出。

size(I);
函数size可以给出图像的行数和列数。如果size前面没有变量,则存在ans变量里。如果有变量,比如[M,N]=size(I);则该命令将返回函数的行数M和列数N。

数字图像显示

imshow(I, G)

G是显示该图像的灰度级数,若将G省略,则默认的灰度级数为256

imshow(I, [low high])

会将所有小于或等于low的值都显示为黑色,所有大于或等于high的值都显示为白色。界于low和high之间的值将以默认的级数显示为中等亮度值。

imshow(I,[])

可以将变量low设置为数组f的最小值,将变量high设置为数组f的最大值。该函数用来显示动态范围较小的图像时非常有用。

图像保存

imwrite(f, ’filename’)

该函数的功能是使用函数imwrite可以将图像写到磁盘上的filename命令的文件中。Filename必须包含文件的扩展名。

图像类型转换

G=im2bw(I,T)

该函数的功能就是将亮度图像I转换为一幅二值图像G。在亮度图像中,亮度值小于T的像素点全部转换为二值图像中值为0的像素点;在亮度图像中,亮度值大于T的像素点全部转换为二值图像中值为1的像素点。

G=rgb2gray(I)
该函数将彩色图像数组I转换为灰度图像G。

图像的几何操作

imread 加
imsubtract 减

imresize 缩放

imresize(A,scale,method)
imresize(A,[mrows ncols],method)
method
Nearest:最近邻插值
Bilinear:双线性插值
Bicubic:双三次插值,系统默认值

imrotate(A,angle,method) 旋转
逆时针为正,顺时针为负。

亮度变换

imadjust

g=imadjust(f,[low_in high_in],[low_out high_out], gamma)

将图像f中的亮度值映像到g中的新值,即将low_in至high_in之间的值映射到low_out至high_out之间的值。
low_in以下的值映射为low_out, high_in以上的值映射为high_out.

图像直方图函数

imhist

滤波函数

线性空间滤波函数

B=imfilter(A,H)
A是输入图像,B是滤波后的输出图像,H是滤波模板

imfilter(I,fspecial('average',[3 3]));

高斯滤波

imfilter(I,fspecial('gaussian',[3 3]));

中值滤波

medfilt2(I,[3,3]);

From https://kabeor.github.io/MATLAB图像处理常用函数/ bye

This blog is under a CC BY-NC-SA 4.0 Unported License
本文链接:https://kabeor.github.io/MATLAB图像处理常用函数/