Matlab图像处理相关
相关函数:
读取:imread() %参数为文件名(路径)或url,格式等
写入:imwrite() %参数为写入数据矩阵,写入文件名(路径),格式等
显示:imshow() %显示由输入决定,属性自动设置,坐标轴,边框隐藏
image() %彩色显示(相关函数:colormap()%改变颜色映射表)
truesize() %设定图像长宽大小,参数为图形窗口句柄,长宽大小(单位:像素)
colorbar() %添加色轴,参数为色轴显示方式及位置
帧图显示:
montage() %多帧显示,对图形窗口划分后各帧平铺显示
immovie() %以动画形式显示多帧图片
movie() %播放已创建好的电影,即immovie返回值。参数可指定播放循环次数,fps等
多图显示:
subimage() %须于subplot()一同使用,imshow()可代替subimage()
纹理映射:
warp() %将二维图像映射到三维图形表面
信息:imfinfo() %图像相关信息显示
直方图:imhist() %
matlab图像处理工具箱支持的基本图像类型分为如下四种:
1.索引图像
数据由数据矩阵data和颜色映射(调色板)矩阵map组成。
data可以看作是每一个像素颜色的编码(标准的索引图只有不超过256个不同编码),
map则是对编码的翻译规则(重点是规则),
所以如果map矩阵的不同,data的翻译结果(即图像显示)也存在差异。
2.灰度图像
每个像素点仅保留强度信息(一位存储),没有颜色信息(colormap(gray))。
3.RGB(真彩色)图像
计算机的颜色显示最多有256(R)*256(G)*256(B)≈一千六百万种(24色),
故每一种颜色可以用[r,g,b]这样的三维坐标点表示,
我们将图像的每一个像素点对应的坐标点的储存即可保存图像信息。
4.二值图像
每个像素点仅由0(黑),1(白)组成(仅有0,1值的灰度图像)。
个人理解:图片的最直接的存储方式是RGB,但是这种存储方式占据的存储空间较大,
为了解决这个问题,故而发明了另外的三种存储方式。
索引图格式只记录整幅图像中最常用的256种颜色(map)
和每个像素点的颜色对应编号(data),
在这个过程中我们会丢失图片的一些颜色细节,但基本上无伤大雅;
灰度图则是将[r,g,b]的存储进行压缩,
仅保留r,g,b以一定权值相加后的结果(也就是强度或者说灰度),
(注:灰度图同样依赖调色板输出);
二值图则在灰度图的基础上进一步压缩,以一定值为限区分黑白,
这种存储虽然简单但也会造成大量信息的丢失,故而无法储存复杂图像。