资源描述:
《多媒体技术-颜色空间.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.什么是颜色空间?对人、显示设备和打印设备,通常采用什么颜色参数来定义颜色?(1)颜色空间:表示颜色的一种数学方法,人们用它来指定和产生颜色,使颜色形象化。(2)对于人来说,可以通过色调、饱和度和明度来定义颜色;对于显示设备来说,人们使用红、绿和蓝磷光体的发光量来描述颜色;对于打印或者印刷设备来说,人们使用青色、品红色、黄色和黑色的反射和吸收来产生指定的颜色。2.什么叫做颜色系统?简要说明组织和表示颜色的两种方法。(1)组织和表示颜色的方法。(2)两种方法:颜色模型(colormodel),编目系统(catalo
2、gingsystem)。注:(1)颜色模型:在台式机排版和图形艺术中,表示颜色的任何一种方法或约定。在图形艺术和印刷领域,颜色常用Pantone(公司)颜色匹配系统;在计算机图形学方面,以下任何一种不同的色彩系统都可以描述色彩:HSB(色调,饱和度和亮度),CMY(青,品红,黄)和RGB(红,绿,蓝)。(2)颜色空间是颜色模型最普通的例子,RGB,HSB,CMY,CIEXYZ,CIELAB,CMYK和颜色的光谱描述方法都是颜色模型。3.PAL制彩色电视使用什么颜色模型?NTSC制彩色电视使用什么颜色模型?计算机图像
3、显示使用什么颜色模型?(1)PAL制彩色电视:YUV(2)NTSC制彩色电视:YIQ(3)计算机图像显示设备:RGB4.用YUV或YIQ模型来表示彩色图像的优点是什么?为什么黑白电视机可看彩色电视图像?(1)YUV表示法的优点:①它的亮度信号(Y)和色度信号(U,V)是相互独立的,因此可以对这些单色图分别进行编码;②可以利用人眼的特性来降低数字彩色图像所需要的存储容量。YIQ同样具有YUV的这两个优点。(2)黑白电视能接收彩色电视信号的道理是利用了YUV/YIQ分量之间的独立性。5.在RGB颜色空间中,当R=G=B
4、,且为任意数值,问计算机显示器显示的颜色是什么颜色?灰色6.用MATLAB编写RGB到HSL和HSL到RGB颜色空间的转换程序:rgb2hsl.m和hsl2rgb.m。functionhsl=rgb2hsl(rgb)%ConvertsRed-Green-BlueColorvaluetoHue-Saturation-LuminanceColorvalue%%Usage%HSL=rgb2hsl(RGB)%%convertsRGB,aMX3colormatrixwithvaluesbetween0and1%intoHSL
5、,aMX3colormatrixwithvaluesbetween0and1%%Seealsohsl2rgb,rgb2hsv,hsv2rgb%SureshEJoel,April26,2003ifnargin<1,error('Toofewarguementsforrgb2hsl');return;elseifnargin>1,error('Toomanyarguementsforrgb2hsl');return;end;ifmax(max(rgb))>1
6、min(min(rgb))<0,error('RGBvalu
7、eshavetobebetween0and1');return;end;fori=1:size(rgb,1),mx=max(rgb(i,:));%maxofthe3colorsmn=min(rgb(i,:));%minofthe3colorsimx=find(rgb(i,:)==mx);%whichcolorhasthemaxhsl(i,3)=(mx+mn)/2;%luminanceishalfofmaxvalue+minvalueif(mx-mn)==0,%ifallthreecolorshavesamevalu
8、e,hsl(i,2)=0;%thens=0andhsl(i,1)=0;%hisundefinedbutforpracticalreasons0return;end;ifhsl(i,3)<0.5,hsl(i,2)=(mx-mn)/(mx+mn);elsehsl(i,2)=(mx-mn)/(2-(mx+mn));end;switch(imx(1))%iftwocolorshavesamevalueandbethemaximum,usethefirstcolorcase1%Redisthemaxcolorhsl(i,1)
9、=((rgb(i,2)-rgb(i,3))/(mx-mn))/6;case2%Greenisthemaxcolorhsl(i,1)=(2+(rgb(i,3)-rgb(i,1))/(mx-mn))/6;case3%Blueisthemaxcolorhsl(i,1)=(4+(rgb(i,1)-rgb(i,2))/(mx-mn))/6;end;ifhsl(i,1)