文档介绍:第八讲图像类型与
彩色模型的转换
【目录】
一、图像类型的转换 1
1、真彩图像→索引图像 2
2、索引图像→真彩图像 3
3、真彩图像→灰度图像 3
4、真彩图像→二值图像 4
5、索引图像→灰度图像 4
6、灰度图像→索引图像 5
7、灰度图像→二值图像 6
8、索引图像→二值图像 7
9、数据矩阵→灰度图像 7
二、彩色模型的转换 8
1、图像的彩色模型 8
2、彩色转换函数 8
三、纹理映射 11
【正文】
一、图像类型的转换
⑤
二值图像
灰度图像
数据矩阵
索引图像
真彩图像
①
⑦
④
⑧
③
⑨
A
I
X,map
RGB
BW
②
⑥
转换类型
转换函数
用处
①
真彩图像→索引图像
X=dither(RGB,map)
节省存储空间,假彩色
②
索引图像→真彩图像
RGB=ind2rgb(X,map)
便于图像处理
③
真彩图像→灰度图像
I=rgb2gray(RGB)
得到亮度分布
④
真彩图像→二值图像
BW=im2bw(RGB,level)
阈值处理,筛选
⑤
索引图像→灰度图像
I=ind2gray(X,map)
Newmap=rgb2gray(map)
得到亮度分布
⑥
灰度图像→索引图像
[X,map]=gray2ind(I,n),
X=grayslice(I,n)
X=grayslice(I,v)
伪彩色处理
⑦
灰度图像→二值图像
BW=dither(I)
BW=im2bw(I,level)
阈值处理,筛选
⑧
索引图像→二值图像
BW=im2bw(X,map,level)
阈值处理,筛选
⑨
数据矩阵→灰度图像
I=mat2gray(A,[max,min])
I=mat2gray(A)
产生图像
1、真彩图像→索引图像
【格式】X=dither(RGB,map)
【说明】按指定的颜色表map通过颜色抖动实现转换
【输入】RGB可以是double或uint8类型
【输出】X超过256色则为double类型,否则输出为uint8型
【例】
CLF,RGB=imread('');
map=jet(256);
X=dither(RGB,map);
subplot(1,2,1);subimage(RGB);title('真彩图')
subplot(1,2,2);subimage(X,map);title('索引图')
2、索引图像→真彩图像
【格式】RGB=ind2rgb(X,map)
【输入】X可以是double或uint8类型
【输出】RGB为double类型
【例】
CLF,load trees;
RGB=ind2rgb(X,map);
subplot(1,2,1);subimage(X,map);title('索引图')
subplot(1,2,2);subimage(RGB);title('真彩图')
3、真彩图像→灰度图像
【格式】I=rgb2gray(RGB)
【输入】RGB可以是double或uint8类型
【输出】I类型同RGB
【例】
CLF,RGB=imread('');
I=rgb2gray(RGB);
subplot(1,2,1);subimage(RGB);title('真彩图')
subplot(1,2,2);subimage(I);title('灰度图')
4、真彩图像→二值图像
【格式】BW=im2bw(RGB,level)
【说明】设置亮度阈值level,将真彩图像转换为二值图像
【输入】RGB可以是double或uint8类型
【输出】BW为uint8型
【例】
CLF,RGB=imread('');
BW=im2bw(RGB,);
subplot(1,2,1);subimage(RGB);title('真彩图')
subplot(1,2,2);subimage(BW);title('二值图')
5、索引图像→灰度图像
【格式1】I=ind2gray(X,map)
【格式2】Newmap=rgb2gray(map)
【说明】格式2将彩色调色板map转换为灰度调色板Newmap
【输入】X可以是double或uint8类型,map为double类型
【输出】I是double类型,Newmap为double类型
【例】
CLF,load trees;
I=ind2gray(X,map);
Newmap=rgb2gray(map);