Matlab图像处理常用基本函数

之前用Matlab做图像处理工作时,用到什么函数就查什么函数,从没做过系统的总结,再做的时候又要去查,所以总结还是有必要的~

为了方便,在此只列出函数名和基本用法,如不特别指出,不详细说明参数,辅助helpdoc

争取持续更新~

********************************正文分割线*************************************

图像读入

需求函数说明
从某一路径读入图片f = imread(FILENAME)默认为当前搜索路径包括当前路径,不在搜索路径内的文件需特别指出
打开对话框选择图片文件并读入

[FileName,PathName,FilterIndex] = uigetfile({\'*.jpg;*.tif;*.png;*.gif\',\'All Image Files\';\'*.*\',\'All Files\' },\'DialogTitle\',\'.\\');

f = imread([PathName, FileName]);

或者f = imread(fullfile(PathName,FileName));

参看左侧即可理解,并参看doc。

注意,使用路径和文件名的拼接;以及判断是否选择了文件,如if isequal(FileName,0)

查看图像信息

需求函数说明
图片尺寸ans = size(f)ans为向量
图片尺寸、大小、数据类型whos f
显示更多信息iminfo(\'bird.jpg\')

图像显示

需求函数说明
最常用的图像显示显示图像:imshow(f)

灰度级数为G:imshow(f,G)

指定灰度级范围:imshow(f,[low,high])

自动调整:imshow(f,[])

imshow(f,[])将double型压缩到[0,1],将uint8
直方图imhist(f,bins)
figure显示figure, subplot(m,n,p), imshow(f)m*n块区域,第p个位置显示
颜色地图colormap详情参看help
颜色条colorbar详情参看help
其他的显示(不常用)imscr

image

详情参看help

图像存储

将图像保存为文件imwrite(f,\'filename\')

imwrite(f,\'filename\',\'ext\')

imwrite(f,\'filename\',\'quality\',q)

q为图像质量,从0到100,q越小表示压缩程度越大
将figure保存成图像saveas(figure_handle,filename,fileformat)

print(figure_handle,filename,fileformat)

fileformat为存储格式

常用函数

归一化等g = mat2gray(f)

g = im2uint8(mat2gray(f))

mat2gray将f映射到[0,1],double型
reshapeg = reshape(f,m,n)不改变矩阵中元素的数目,以列优先的方式改变尺寸
生成坐标[C,R] = meshgrid(c,r)生成矩阵坐标阵列
复制并拼接矩阵B = repmat(A, sz1,sz2,...szN)
Apply function to each cell in cell array[A1,...,Am] = cellfun(func, c1,...,cn, name, value)简直最爱啊!!参看doc
生成随机数随机数生成控制 rng

均匀分布r = rand(size)

均匀分布(整数)r = randi(100,1,5)

正态分布r = randn(size)

随机数random

参看doc

待解决

完成特定图像处理任务的功能函数;……