Matlab图像处理常用基本函数
之前用Matlab做图像处理工作时,用到什么函数就查什么函数,从没做过系统的总结,再做的时候又要去查,所以总结还是有必要的~
为了方便,在此只列出函数名和基本用法,如不特别指出,不详细说明参数,辅助help和doc
争取持续更新~
********************************正文分割线*************************************
图像读入
需求 | 函数 | 说明 |
从某一路径读入图片 | 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型 |
reshape | g = 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 |
待解决
完成特定图像处理任务的功能函数;……