matlab《数字图像处理》第4章 图像类型与彩色模型的转换附Word文件下载.docx
- 文档编号:16798665
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:14
- 大小:555.64KB
matlab《数字图像处理》第4章 图像类型与彩色模型的转换附Word文件下载.docx
《matlab《数字图像处理》第4章 图像类型与彩色模型的转换附Word文件下载.docx》由会员分享,可在线阅读,更多相关《matlab《数字图像处理》第4章 图像类型与彩色模型的转换附Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
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、uint16或uint8类型
【输出】X超过256色则为uint16类型,否则输出为uint8型
【例】
CLF
RGB=imread('
flowers.tif'
);
map=jet(256);
X=dither(RGB,map);
subplot(1,2,1);
subimage(RGB);
title('
真彩图'
)
subplot(1,2,2);
subimage(X,map);
索引图'
)
2、索引图像→真彩图像
【格式】RGB=ind2rgb(X,map)
具有调色板map的索引图像X转换成真彩色图像RGB,实际实现时就是产生一个三维数据矩阵,然后将索引图像对应的调色板颜色赋予三维数据矩阵。
【输入】X可以是double、uint16或uint8类型
【输出】RGB为double类型
CLF,loadtrees;
RGB=ind2rgb(X,map);
3、真彩图像→灰度图像
【格式】I=rgb2gray(RGB)
【输出】I类型同RGB
CLF,RGB=imread('
I=rgb2gray(RGB);
subimage(I);
灰度图'
4、真彩图像→二值图像
【格式】BW=im2bw(RGB,level)
【说明】设置亮度阈值level,将真彩图像转换为二值图像。
Level是归一化的阈值,值域范围为[01];
level可以由函数graythresh(I)计算得到。
【输出】BW为uint8型
BW=im2bw(RGB,0.5);
subimage(BW);
二值图'
5、索引图像→灰度图像
【格式1】I=ind2gray(X,map)
【格式2】Newmap=rgb2gray(map)
【说明】格式2将彩色调色板map转换为灰度调色板Newmap
【输入】X可以是double、uint16或uint8类型,map为double类型
【输出】I是double类型,Newmap为double类型
I=ind2gray(X,map);
Newmap=rgb2gray(map);
subplot(2,2,1);
subplot(2,2,3);
格式1灰度图'
subplot(2,2,4);
subimage(X,Newmap);
格式2灰度图'
6、灰度图像→索引图像
【格式1】1、[X,map]=gray2ind(I,n)
2、X=grayslice(I,n)
3、X=grayslice(I,v)
【说明】格式1:
将灰度图像转换为灰度级为n的索引图像X,n的默认值为64;
格式2:
将灰度图像I均匀量化为n个等级,然后转换为伪彩色图像X;
格式3:
按指定的阈值矢量v(其中每个元素在0和1之间)对图像I进行阈值划分,然后转换成索引图像
【输入】I可以是double类型、uint8类型和uint16类型
【输出】map的行不大于256,则X为uint8类型,否则为uint16类型
CLF,I=imread('
rice.tif'
[X1,map1]=gray2ind(I,16);
X2=grayslice(I,8);
X3=grayslice(I,255*[00.210.230.260.300.350.61.0]'
subplot(2,2,2);
subimage(X1,map1);
16灰度级图'
subimage(X2,hot(8));
均匀量化图'
subimage(X3,jet(8));
非均匀量化图'
7、灰度图像→二值图像
【格式一】BW=dither(I);
【格式二】BW=im2bw(I,level)
【说明】格式一用抖动的方式实现转换,格式二用阈值方式转换
【输入】I可以是double类型和uint8类型
【输出】BW支持逻辑0和1类型(一般为double类型)
saturn.tif'
BW1=dither(I);
BW2=im2bw(I,0.5);
subimage(BW1);
抖动二值化'
subimage(BW2);
阈值二值化'
8、索引图像→二值图像
【格式】BW=im2bw(X,map,level)
【输出】BW为uint8类型
BW=im2bw(X,map,0.5);
9、数据矩阵→灰度图像
【格式】1、I=mat2gray(A,[max,min])
2、I=mat2gray(A)
【说明】按指定的取值区间[max,min]将数据矩阵A转换为灰度图像I,amin是灰度最暗的值(0值),amax是灰度最亮的值(1值)。
如不指定区间,自动取最大区间。
【输入】A为double类型
【输出】I为double类型
CLF;
I=imread('
A=filter2(fspecial('
sobel'
),I);
J=mat2gray(A);
原图'
subimage(J);
转换图'
二、彩色模型的转换
1、图像的彩色模型
(1)RGB模型
是色光的彩色模式,R代表红色,G代表绿色,B代表蓝色。
RGB颜色模型是显示和保存彩色图像最常用的模型,三维空间中的3个轴分别与红绿蓝三个分量相对应。
原点对应于黑色,离原点最远的顶点对应于白色,其它颜色位于三维空间中。
为了处理方便,所有颜色值都被归一化处理,也就是所有的RGB值都被假定在[0,1]范围上。
(2)NTSC模型
NTSC模型用于电视信号。
其特点是亮度信号与色度信号相分离。
一个信号能同时表示彩色图像和黑白图像。
他的Y表示亮度,I表示色度,Q表示饱和度。
(3)HSV模型
根据人眼的视觉特性表示的颜色,H表示色调,S表示饱和度,V表示明度。
HSV模型是面向用户的,在通常使用的色彩轮和调色板中选择的色彩(如画笔和墨水等)。
因此它比RGB颜色模型具有更好的视觉效果。
H、S和V三个分量取值范围都是[01.0].
H:
从色彩来说基本经过红、黄、绿、蓝绿、蓝、紫到红,因此红对应了0和1值。
S:
对应于色调种类从不饱和(灰度梯度)到全饱和(无白色);
V:
对应于色彩由暗变亮。
(4)YCbCr模型
YCbCr模型是数字视频中常用的颜色模型。
Y表示亮度信号,亮度信息存储在Y中,色度信息存储在Cb、Cr中。
Cb表示绿色色度分量;
Cr表示红色色度分量。
2、彩色转换函数
(1)RGB颜色空间转换到NTSC颜色空间
【格式】YIQMAP=rgb2ntsc(RGBMAP)
【说明】将RGB色表转换为YIQ色表
【输入】RGBMAP为double类型
【输出】YIQMAP为double类型
【格式】YIQ=rgb2ntsc(RGB)
【说明】表示将RGB图像转换为NTSC图像
【输入】RGB为double、uint8或uint16类型
【输出】YIQ为double类型
YIQ=rgb2ntsc(RGB);
subplot(2,3,1);
RGB图像'
subplot(2,3,3);
subimage(mat2gray(YIQ));
NTSC图像'
subplot(2,3,4);
subimage(mat2gray(YIQ(:
:
1)));
Y分量'
subplot(2,3,5);
2)));
I分量'
subplot(2,3,6);
3)));
Q分量'
(2)NTSC颜色空间转换到RGB颜色
【格式】RGBMAP=ntsc2rgb(YIQMAP)
【说明】将YIQ色表转换为RGB色表
【输入】YIQMAP为double类型
【输出】RGBMAP为double类型
【格式】RGB=ntsc2rgb(YIQ)
【说明】表示将YIQ图像转换为RGB图像
【输入】YIQ为double类型
YIQMAP=rgb2ntsc(map);
map1=ntsc2rgb(YIQMAP);
YIQMAP=mat2gray(YIQMAP);
Ymap=[YIQMAP(:
1),YIQMAP(:
1)];
Imap=[YIQMAP(:
2),YIQMAP(:
2)];
Qmap=[YIQMAP(:
3),YIQMAP(:
3)];
title('
原始图像'
subplot(2,3,2);
subimage(X,YIQMAP);
转换图像'
subimage(X,map1);
还原图像'
subimage(X,Ymap);
NTSC的Y分量'
subimage(X,Imap);
NTSC的I分量'
subimage(X,Qmap);
NTSC的Q分量'
(3)rgb2hsv
(4)hsv2rgb
(5)rgb2ycbcr
(6)ycbcr2rgb
三、纹理映射
使用imshow命令时,MATLAB通常以二维视图形式显示一幅图像。
纹理映射使用WARP命令通过插值的方法将一幅图像映射到一个曲面网格上。
纹理映射是一种将二维图像映射到三维图形表面的一种技术。
Warp函数是通过插值实现图像的纹理映射,显示在三维空间中。
格式如下:
WARP(X,MAP)-将索引图像显示在缺省表面上
WARP(I,N)-将灰度图像显示在缺省表面上
WARP(BW)-将二值图像显示在缺省表面上
WARP(RGB)-将真彩图像显示在缺省表面上
WARP(z,...)-将图像显示z表面上
WARP(x,y,z,...)-将图像显示(x,y,z)表面上
H=WARP(...)-返回图像的句柄
输入图像的数据格式可以是logical、uint8、uint16或double类型。
[x,y,z]=cylinder;
FLOWERS.TIF'
warp(x,y,z,I);
[X,Y,Z]=ELLIPSOID(0,0,0,1,2,3,50);
SURF(X,Y,Z);
RGB=IMREAD('
WARP(X,Y,Z,RGB);
P=PEAKS(50);
greens.jpg'
WARP(P,RGB);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像处理 matlab数字图像处理第4章 图像类型与彩色模型的转换 matlab 数字图像 处理 图像 类型 彩色 模型 转换
![提示](https://static.bdocx.com/images/bang_tan.gif)