Matlab图像处理常⽤基本函数
之前⽤Matlab做图像处理⼯作时,⽤到什么函数就查什么函数,从没做过系统的总结,再做的时候⼜要去查,所以总结还是有必要的~
为了⽅便,在此只列出函数名和基本⽤法,如不特别指出,不详细说明参数,辅助help和doc争取持续更新~
********************************正⽂分割线*************************************
图像读⼊
需求
从某⼀路径读⼊图⽚
函数
f = imread(FILENAME)
说明
默认为当前搜索路径包括当前路径,不在搜索路径内的⽂件需特别指出
打开对话框选择图⽚⽂件并读⼊
[FileName,PathName,FilterIndex] =
uigetfile({'*.jpg;*.tif;*.png;*.gif','All Image参看左侧即可理解,并参看doc。
Files';'*.*','All Files' },'DialogTitle','.\\');注意,使⽤路径和⽂件名的拼接;以及判断f = imread([PathName, FileName]);是否选择了⽂件,如if或者f =isequal(FileName,0)imread(fullfile(PathName,FileName));
查看图像信息
需求
图⽚尺⼨
图⽚尺⼨、⼤⼩、数据类型显⽰更多信息
ans = size(f)whos f
iminfo('bird.jpg')
函数
ans为向量⽆⽆
说明
图像显⽰
需求
最常⽤的图像显⽰直⽅图figure显⽰颜⾊地图颜⾊条
其他的显⽰(不常⽤)
函数
显⽰图像:imshow(f)
灰度级数为G:imshow(f,G)
指定灰度级范围:imshow(f,[low,high])⾃动调整:imshow(f,[])imhist(f,bins)
figure, subplot(m,n,p), imshow(f)colormapcolorbarimscrimage
说明
imshow(f,[])将double型压缩到[0,1],将uint8
⽆
m*n块区域,第p个位置显⽰详情参看help详情参看help详情参看help
图像存储
将图像保存为⽂件将figure保存成图像
imwrite(f,'filename')
q为图像质量,从0到100,q越⼩表⽰压缩
imwrite(f,'filename','ext')
程度越⼤
imwrite(f,'filename','quality',q)
saveas(figure_handle,filename,fileformat)
fileformat为存储格式
print(figure_handle,filename,fileformat)
常⽤函数
归⼀化等reshape⽣成坐标
复制并拼接矩阵
Apply function to each cell in cell array
g = mat2gray(f)
g = im2uint8(mat2gray(f))g = reshape(f,m,n)
[C,R] = meshgrid(c,r)
B = repmat(A, sz1,sz2,...szN)[A1,...,Am] = cellfun(func, c1,...,cn,name, value)
随机数⽣成控制 rng均匀分布r = rand(size)
均匀分布(整数)r = randi(100,1,5)正态分布r = randn(size)
mat2gray将f映射到[0,1],double型不改变矩阵中元素的数⽬,以列优先的⽅式改变尺⼨
⽣成矩阵坐标阵列⽆
简直最爱啊!!参看doc
⽣成随机数参看doc
正态分布r = randn(size)随机数random
待解决
完成特定图像处理任务的功能函数;……