您的位置:首页 > 编程语言 > MATLAB

MATLAB图像处理工具箱

2016-02-02 22:13 316 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: