前言
为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正!
一、实验目的
(1)了解颜色空间的基本概念及转换原理
(2)能利用MATLAB工具箱和本章提供的有关公式,在RGB、YIQ、HSV等颜色空间中读取、显示彩色图像
二、实验主要仪器设备
(1)台式计算机或笔记本电脑
(2)MATLAB软件(安装了图像处理工具箱)
(3)彩色图像文件。
三、实验原理
(1)利用MATLAB图像处理工具箱读、写和显示图像文件。
(2)颜色空间的基本概念。
①颜色空间包括某个颜色域的所有颜色。实验中采用的颜色模型有NTSC、HSV和YCbCr模型等。各种颜色空间在图像处理中各有优势,且可以相互转换。
②在NTSC格式中,图像由三个分量表示:亮度用Y表示;色度用I表示;饱和度用Q表示。第一个分量亮度Y表示灰度信息,后两个分量分别表示色度信息和饱和度信息。RGB空间向YIQ空间转换方法为
③HSV模型常用于选择颜色,它是面向用户的一种复合主观感觉的色彩模型,比RGB模型更接近人们对颜色的感知。具体转换参考式(10.2)~式(10.9)。
④在YCbCr模型中,Y为亮度,Cb和Cr共同描述图像的色调,其中Cb和Cr分别为蓝色分量和红色分量相对于参考值的坐标。RGB空间向YCbCr空间转换的方法为
四、实验内容
(1)利用MATLAB图像处理工具箱中现有的函数在不同颜色空间中读取、显示彩色图像。
(2)根据转换公式,自己编制其他颜色空间转换函数,在该空间中读取、显示彩色图像。
五、实验步骤
(1)利用MATLAB“读图像文件I/O”函数读入图像
(2)参考附录B“常用MATLAB图像处理工具箱函数”完成以下操作:利用rgb2ntsc、rgb2hsv、rgb2ycbcr等函数转换颜色空间,显示不同颜色空间下的彩色图像,并显示出各分量图像。例如,在YCbCr空间中,通过编程分别显示并观察Y、Cb、Cr三分量的图像。
(3)根据其他颜色空间转换公式,编制颜色空间转换函数,在该空间中读取、显示彩色图像,例如,在HSI空间,参考式(10.10)~式(10.13)。
六、实验程序
%ntsc
I = imread('BaboonRGB.tif');
I1 = rgb2ntsc(I);
imshow(I1);
subplot(1,2,1),imshow(I);
title('原图像');
subplot(1,2,2),imshow(I1);
title('输出图像');
%YCbCr
I = imread('BaboonRGB.tif');
ycbcr_image = rgb2ycbcr(I);
f = ycbcr2rgb(ycbcr_image);
subplot(1,3,1),imshow(I);
title('原图像');
subplot(1,3,2),imshow(ycbcr_image);
title('RGB转换为YCbCr');
subplot(1,3,3),imshow(f);
title('YCbCr转换为RGB');
%hsv
I = imread('BaboonRGB.tif');
hsv_image = rgb2hsv(I);
f = hsv2rgb(hsv_image);
subplot(1,3,1),imshow(I);
title('原图像');
subplot(1,3,2),imshow(hsv_image);
title('RGB转换为HSV');
subplot(1,3,3),imshow(f);
title('HSV转换为RGB');
七、实验报告要求
(1)利用MATLAB图像处理工具箱读、写和显示彩色图像文件。
(2)了解几种常用颜色空间的概念。
(3)记录读取变换处理后的图像。
(4)列出上述MATLAB图像处理的程序
(5)回答思考题。
(6)心得和体会。
八、预习要求
(1)了解MATLAB图像处理工具箱中所提供的颜色空间转换函数的功能。
(2)了解图像颜色空间转换的基本概念和公式。
九、思考题
(1)比较不同颜色空间的差别。
答:显示器中采用的RGB颜色空间是基于物体发光定义的(RGB正好对应光的三原色:Red,Green,Blue);工业印刷中常用的CMY颜色空间是基于光反射定义的(CMY对应了绘画中的三原色:Cyan,Magenta,Yellow);HSV、HSL两个颜色空间都是从人视觉的直观反映而提出来的(H是色调,S是饱和度,I是强度)。