资源描述:
《第7章 图像类型与彩色模型的转换》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第七章图像类型与彩色模型的转换【目录】一、图像类型的转换11、真彩图像→索引图像22、索引图像→真彩图像33、真彩图像→灰度图像34、真彩图像→二值图像45、索引图像→灰度图像46、灰度图像→索引图像57、灰度图像→二值图像68、索引图像→二值图像79、数据矩阵→灰度图像7二、彩色模型的转换81、图像的彩色模型82、彩色转换函数8三、纹理映射11【正文】一、图像类型的转换08-16⑤二值图像灰度图像数据矩阵索引图像真彩图像①⑦④⑧③⑨AIX,mapRGBBW②⑥转换类型转换函数用处①真彩图像→索引图像X=dither(RGB,map)节省存储空
2、间,假彩色②索引图像→真彩图像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)阈值处理,筛选⑧
3、索引图像→二值图像BW=im2bw(X,map,level)阈值处理,筛选⑨数据矩阵→I=mat2gray(A,[max,min])产生图像08-16灰度图像I=mat2gray(A)1、真彩图像→索引图像【格式】X=dither(RGB,map)【说明】按指定的颜色表map通过颜色抖动实现转换颜色抖动即改变像素点的颜色,使像素颜色近似于色图的颜色,从而以空间分辨率来换取颜色分辨率。【输入】RGB可以是double、uint16或uint8类型【输出】X超过256色则为uint16类型,否则输出为uint8型【例】CLFRGB=imread('
4、flowers.tif');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)具有调色板map的索引图像X转换成真彩色图像RGB,实际实现时就是产生一个三维数据矩阵,然后将索引图像对应的调色板颜色赋予三维数据矩阵。【输入】X可以是double、uint16或uint8类型08-16【输出】RGB为dou
5、ble类型【例】CLF,loadtrees;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、uint16或uint8类型【输出】I类型同RGB【例】CLF,RGB=imread('flowers.tif');I=rgb2gray(RGB);subplot(1,2,1);subimage(RGB);
6、title('真彩图')subplot(1,2,2);subimage(I);title('灰度图')4、真彩图像→二值图像【格式】BW=im2bw(RGB,level)08-16【说明】设置亮度阈值level,将真彩图像转换为二值图像。Level是归一化的阈值,值域范围为[01];level可以由函数graythresh(I)计算得到。【输入】RGB可以是double、uint16或uint8类型【输出】BW为uint8型【例】CLF,RGB=imread('flowers.tif');BW=im2bw(RGB,0.5);subplot(1,
7、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、uint16或uint8类型,map为double类型【输出】I是double类型,Newmap为double类型【例】CLF,loadtrees;I=ind2gray(X,map);Newmap=rg
8、b2gray(map);08-16subplot(2,2,1);subimage(X,map);title('索引图')subplot(2,2,3);