MATLAB图像处理工具箱

来源:互联网 发布:淘宝提前收款怎么用 编辑:程序博客网 时间:2024/04/27 05:49
4.1 matlab图像有哪几种类型
二值图像
灰度图像
索引图像
真彩色图像
(它们的区别在于:数据矩阵元素的含义不同)

4.2 二值图像是怎样的
用一个数据矩阵表示
矩阵元素只取0/1
仅使用uint8数组或double数组来存储
(uint8使用内存更小,matlab用uint8存储二进制图像)

4.3 灰度图像是怎样的
用一个数据矩阵表示
矩阵元素为灰度值
可以是double型浮点数、uint8或uint16
(most time,灰度图像很少和调色板一起保存
但显示灰度图像时,matlab仍在后台使用系统预定义的默认灰度调色板)

4.4 索引图像是怎样的

包含2个结构:图像数据矩阵&调色板(即map)
调色板:(矩阵)有三列R,G,B 矩阵元素是[0,1]之间的double浮点数 [0最暗,1最亮]
图像数据矩阵:uint8或double型(前者数据0代表调色板第1行,后者数据1代表调色板第1行)
(索引图像和调色板一起存储
加载图像时,matlab自动将图像和调色板同时装载)

4.5 真彩色图像是怎样的(RGB图像)

尺寸为m*n的真彩色图像,matlab用一个m*n*3的多维数据数组存储
(想象成一个矩阵,每个矩阵元素是(R,G,B)结构)
RGB数组的类型可以是double浮点数、uint8\uint16
对于double类型,大小在[0,1]之间
e.g 为了确定位置(10,5)的颜色,需要查看数据(10,5,1:3)

4.6 真彩色图像&索引图像如何相互转换
真彩色图像-->索引图像
三种方法:
[X,map]=rgb2ind(RGB,tol); 均匀量化法(tol [0.0,1.0]) (ps.tol值越大越不清晰)
[X,map]=rgb2ind(RGB,n); 最小量化法(map包括至少n个颜色)
[X,map]=rgb2ind(RGB,map); 颜色图近似法(将真彩色图像中的颜色与map中最相近的颜色匹配)  ???

索引图像-->真彩色图像
RGB=ind2rgb(X,map)

4.7 索引图像&灰度图像如何相互转换
索引图像-->灰度图像
I=ind2gray(X,map);
(I是double型)

灰度图像-->索引图像
[X,map]=gray2ind(I,n);
(按照指定的灰度级数n和map将I转换成X,n默认64)

4.8 如何读\写图像
读图像:
I=imread('picname.fmt');
写图像:
imwrite(I,'picname.fmt');
获取图像信息:
info=imfinfo('picname.fmt')

4.9 如何显示图像
显示二值图像:
imshow(BW)

显示灰度图像:
imshow(I,n)   ???
imshow(I,[low,high])
([low,high]是图像数据的值域,<=low的值都显示为黑色,>=high的值都显示为白色,介于中间的值以默认的级数显示灰度)

显示索引图像:
imshow(X,map)

显示真彩色图像:
imshow(RGB)

显示图形文件
imshow filename



0 0