《多媒体技术-颜色空间(3页).docx》由会员分享,可在线阅读,更多相关《多媒体技术-颜色空间(3页).docx(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-多媒体技术-颜色空间-第 3 页1什么是颜色空间?对人、显示设备和打印设备,通常采用什么颜色参数来定义颜色?(1) 颜色空间:表示颜色的一种数学方法,人们用它来指定和产生颜色,使颜色形象化。(2) 对于人来说,可以通过色调、饱和度和明度来定义颜色;对于显示设备来说,人们使用红、绿和蓝磷光体的发光量来描述颜色;对于打印或者印刷设备来说,人们使用青色、品红色、黄色和黑色的反射和吸收来产生指定的颜色。2.什么叫做颜色系统?简要说明组织和表示颜色的两种方法。(1) 组织和表示颜色的方法。(2) 两种方法:颜色模型(color model),编目系统(cataloging system)。注:(1)
2、颜色模型:在台式机排版和图形艺术中,表示颜色的任何一种方法或约定。在图形艺术和印刷领域,颜色常用Pantone(公司)颜色匹配系统;在计算机图形学方面,以下任何一种不同的色彩系统都可以描述色彩:HSB(色调,饱和度和亮度),CMY(青,品红,黄)和RGB(红,绿,蓝)。(2) 颜色空间是颜色模型最普通的例子,RGB, HSB, CMY, CIE XYZ, CIELAB,CMYK和颜色的光谱描述方法都是颜色模型。3.PAL制彩色电视使用什么颜色模型?NTSC制彩色电视使用什么颜色模型?计算机图像显示使用什么颜色模型?(1) PAL制彩色电视:YUV(2) NTSC制彩色电视:YIQ(3) 计算机
3、图像显示设备:RGB4.用YUV或YIQ模型来表示彩色图像的优点是什么?为什么黑白电视机可看彩色电视图像?(1) YUV表示法的优点: 它的亮度信号(Y)和色度信号(U,V)是相互独立的,因此可以对这些单色图分别进行编码; 可以利用人眼的特性来降低数字彩色图像所需要的存储容量。YIQ同样具有YUV的这两个优点。(2) 黑白电视能接收彩色电视信号的道理是利用了YUV/YIQ分量之间的独立性。5.在RGB颜色空间中,当R=G=B,且为任意数值,问计算机显示器显示的颜色是什么颜色?灰色6.用MATLAB编写RGB到HSL和HSL到RGB颜色空间的转换程序:rgb2hsl.m和hsl2rgb.m。fu
4、nction hsl=rgb2hsl(rgb) %Converts Red-Green-Blue Color value to Hue-Saturation-Luminance Color value %Usage % HSL = rgb2hsl(RGB) % converts RGB, a M X 3 color matrix with values between 0 and 1 % into HSL, a M X 3 color matrix with values between 0 and 1 %See also hsl2rgb, rgb2hsv, hsv2rgb %Suresh E
5、 Joel, April 26,2003 if nargin1, error(Too many arguements for rgb2hsl); return; end; if max(max(rgb)1 | min(min(rgb)0, error(RGB values have to be between 0 and 1); return; end; for i=1:size(rgb,1), mx=max(rgb(i,:);%max of the 3 colors mn=min(rgb(i,:);%min of the 3 colors imx=find(rgb(i,:)=mx);%whi
6、ch color has the max hsl(i,3)=(mx+mn)/2;%luminance is half of max value + min value if(mx-mn)=0,%if all three colors have same value, hsl(i,2)=0;%then s=0 and hsl(i,1)=0;%h is undefined but for practical reasons 0 return; end; if hsl(i,3)0.5, hsl(i,2)=(mx-mn)/(mx+mn); else hsl(i,2)=(mx-mn)/(2-(mx+mn
7、); end; switch(imx(1)%if two colors have same value and be the maximum, use the first color case 1 %Red is the max color hsl(i,1)=(rgb(i,2)-rgb(i,3)/(mx-mn)/6; case 2 %Green is the max color hsl(i,1)=(2+(rgb(i,3)-rgb(i,1)/(mx-mn)/6; case 3 %Blue is the max color hsl(i,1)=(4+(rgb(i,1)-rgb(i,2)/(mx-mn)/6; end; if hsl(i,1)0,hsl(i,1)=hsl(i,1)+1;end;%if hue is negative, add 1 to get it within 0 and 1 end; hsl=round(hsl*100000)/100000; %Sometimes the result is 1+eps instead of 1 or 0-eps instead of 0 . so to get rid of this I am rounding to 5 decimal places)