全部科目 > 多媒体应用设计师 >
2017年上半年 上午试卷 综合知识
第 37 题
知识点 颜色空间的表示   广告   软件设计  
关键词 软件设计   图像   颜色模型   颜色  
章/节 多媒体图形图像的处理与编辑  
 
 
使用图像编辑软件设计广告图片后,应当使用(37)颜色模型输出印刷胶片。
 
  A.  CMYK
 
  B.  RGB
 
  C.  HSI
 
  D.  Lab
 
 




 
 
相关试题     颜色空间 

  第31题    2015年上半年  
以下颜色模型中适用于彩色印刷的是(28)颜色模型,它属于(29)模型。黄色油墨印在白纸上,在绿光下看上去是(30)色,在蓝光下看上去是(31)颜色。

  第38题    2013年上半年  
在量化精度相同的条件下,图像颜色子采样方案(38)得到的数据量最大,方案 (39)得到的数据量居中,方案(40)得到的数据量相同。①4:4:4②4:2:2③4:1:1④4:2:0

  第29题    2018年上半年  
(28)彩色电视制式是美国国家电视标准委员会定义的彩色电视广播标准,一帧图像总行数为(29)行。(30)制式是德国于1962年制定的彩色电视标准,一帧图像的总行数为(31)。

 
知识点讲解
· 颜色空间的表示
· 广告
· 软件设计
 
        颜色空间的表示
        颜色空间是颜色集合的数学表示。颜色空间的表示方法有很多,最常用的颜色模型有:RGB、CMYK、YIQ、YUV、YCbCr、HSI、HSV。
        ①RGB颜色空间。
        RGB颜色空间是最常用的一种颜色表示方法,任何一种颜色都可以利用红(Red)、绿(Green)和蓝(Blue)三种颜色混合而成,公式如下。
        C=a×R+b×G+c×B
        其中,C表示任何一种颜色,a、b、c是系数,需满足a, b, c均大于0且a+b+c=1。
        在计算机系统中,通常利用1字节的整数表示RGB所占的系数分量,常见的一些颜色系数分量如下表所示。
        
        常见颜色的系数分量表
        RGB颜色空间主用应用于彩色显示器、计算机图形学等领域。CRT显示器利用RGB三种颜色的电子枪投射到屏幕上形成彩色图像。LCD显示器的每个单元格前面都有RGB三个过滤器,当光线通过单元格时就可以在屏幕上显示出彩色图像。另外,在计算机图形学中,RGB颜色空间可以简化系统的构架与设计,所以通常被采用。
        ②CMYK颜色空间。
        CMY分别是指青色(Cyan)、洋红色(Magenta)、黄色(Yellow),这三种颜色分别是RGB三种颜色的互补色,即如果两种颜色混合后形成中性的灰黑色,则这两种色彩为互补色。
        CMYK颜色空间主要用于印刷,也称印刷色彩模式。从理论上来说,印刷只需要CMY三种油墨就足够了,它们加在一起就能得到黑色,但是由于目前的制造工艺还不能制造出高纯度的油墨,CMY相加的实际结果是暗红色,因此还需要加入一种专门的黑墨(Black)进行调和。
        CMYK和RGB相比有一个很大的不同:RGB模式是一种发光的色彩模式,在黑暗的房间内仍然可以看见屏幕上的内容,这是因为屏幕本身可以发光;CMYK是一种依靠反光的色彩模式,CMYK颜色模式的基础并不是增加光线,而是减去光线。人们是怎样阅读报纸的呢?这是由于阳光或灯光照射到报纸上再反射到人们的眼中,因此人们才能看到内容,它需要外界光源,而在黑暗的房间内人们是无法阅读报纸的。所以RGB又称加色模型,而CMYK则称为减色模型。
        ③YUV、YIQ和YCrCb颜色空间。
        发明电视以后,为了更有效地压缩图像的数据量以充分利用传输通道的带宽或节省存储空间,人们开发了许多颜色空间,如模拟PAL和SECAM彩色电视制式采用的YUV颜色空间,NTSC彩色电视制式采用的YIQ颜色空间,数字电视系统采用的YCrCb颜色空间。这些颜色空间都需要把用RGB颜色空间表示的电视图像转换成用其他颜色空间表示的图像。
        在YUV颜色空间中,Y表示亮度,也就是灰度值,U和V表示色差。亮度是通过RGB输入信号建立的,方法是将RGB信号的特定部分叠加到一起。色差信号的作用是描述影像色彩及饱和度,用于指定像素的颜色。
        YIQ颜色空间的参数值与YUV相似,Y表示明亮度,I和Q表示色差。所不同的是,Q、I正交坐标轴与U、V正交坐标轴之间有33°的夹角。
        YCrCb是从YUV颜色空间派生的一个颜色空间,主要用于数字电视系统。其中,Y仍表示明亮度,Cr反映了RGB输入信号的红色部分与RGB信号亮度值之间的差异,Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。
        电视系统所采用的颜色空间的主要优点有两个:一是亮度信号和色度信号相互独立,即Y信号分量构成的黑白灰度图与用U、V信号(以YUV颜色空间为例)构成的两幅单色图是相互独立的,这就使得人们可以对YUV三个信号分别进行编码,也使得彩色电视信号和黑白电视信号可以相互兼容;二是可以利用人眼的特性降低数字彩色图像所需要的存储容量,由于人眼对色彩细节的分辨能力远比对亮度细节的分辨能力低,所以可以把色彩分量的分辨率降低而不明显影响图像的质量。
        ④HSI和HSV颜色空间。
        此类颜色空间是从人的视觉系统出发的,利用色调(hue)、颜色饱和度(saturation)和明亮度(intensity或value)描述色彩。色调是当人眼看到一种或多种波长的光时所产生的色彩感觉,它反映颜色的种类,是决定颜色的基本特征;饱和度是指颜色的纯度,即掺入白光的程度,表示颜色的深浅程度;明亮度是光作用于人眼所引起的明亮程度的感觉,它与被观察物体的发光强度有关,主要表现光的强和弱。
        HSI和HSV颜色空间的差异在于亮度分量(I或V)的计算方式。HSI颜色空间适合传统的图像处理函数,如卷积、均化、直方图等,可以通过处理亮度值实现这些操作,因为亮度I对R、G、B值的依赖程度是一样的。HSV颜色空间适合处理色度和饱和度,因为它可以使饱和度具有更大的动态取值范围。HSV使用单六角锥的颜色模型,HSI使用双六角锥的颜色模型。
        由于HSI和HSV颜色空间在设计及颜色感知和解释的方式上与人很接近,因此人们在手动指定颜色值时会经常使用它们,例如在图像设计软件Photoshop中。
        ⑤CIE色度模型。
        RGB颜色模型采用物理三基色,其物理意义非常清楚,但它是一种与设备相关的颜色模型,即每一种设备(包括人眼、扫描仪、监视器和打印机等)使用RGB模型时都有不太相同的定义,这就造成这些设备之间的颜色不能相互通用。
        为了从基色出发定义一种与设备无关的颜色模型,1931年9月,国际照明委员会(Commission Internationale de L'Eclairage, CIE)在英国召开了具有历史意义的大会。CIE的颜色科学家在RGB模型的基础上创建了一个新的颜色系统——CIE XYZ。在CIE XYZ色彩空间中,三刺激值并不是真正的红色、绿色和蓝色,而是从红色、绿色和蓝色导出来的参数,近似对应于红色、绿色和蓝色。CIE 1931色度图如下图所示,横坐标表示红色分量,纵坐标表示绿色分量。环绕在颜色空间边沿的颜色是光谱色,边界代表光谱色的最大饱和度,边界上的数字表示光谱色的波长,其轮廓包含所有的感知色调。所有单色光都位于舌形曲线上,这条曲线就是单色轨迹,曲线旁标注的数字是单色(或称光谱色)光的波长值;自然界中各种实际颜色都位于这条闭合曲线内;RGB系统中选用的物理三基色也在色度图的舌形曲线上。
        
        CIE 1931色度图
        1976年,CIE又召开了一次具有重要意义的会议,在该会议上规定了两种颜色空间:一种是用于自照明的颜色空间,称为CIE LUV;另一种是用于非自照明的颜色空间,称为CIE 1976L*a*b*,或称CIE LAB。CIE LUV是由CIE XYZ空间简单变换得到的,具有视觉统一性。CIE LAB系统使用的坐标称为对色坐标(opponent color coordinate),如下图所示。CIE LAB使用b*a*L*坐标轴定义CIE颜色空间,其中L*代表光亮度,其值为0(黑色)~100(白色),b*a*代表色度坐标,其中a*代表红-绿轴,b*代表黄-蓝轴,它们的值为0~10。a*=b*=0表示无色,因此L*代表从黑到白的比例系数。
        
        CIE 1976 LAB颜色空间图
 
        广告
        在大众出版物(如报纸)或专业出版物上刊登广告,往往可以扩充现有的潜在卖方名单。有些组织使用在线资源来招揽供应商。
 
        软件设计
               软件设计的任务
               在给定系统的需求规格说明书后,需要对软件的结构进行设计,并对设计的过程进行管理。在嵌入式系统的软件设计过程中,需要完成以下一些任务。
                      准备工作计划
                      在软件设计之前,首先要制订详细的工作计划,其内容包括:
                      .过程管理方案:包括软件开发的进度管理、软件规模和所需人年的估算、开发人员的技能培训等;
                      .开发环境的准备方案:包括开发工具的准备、开发设备的准备、测试装备的准备、分布式开发环境下的开发准则等;
                      .软硬件联机调试的方案:联调的起始时间、地点、人员和具体的准备工作;
                      .质量保证方案:包括质量目标计划、质量控制计划等;
                      .配置控制方案:包括配置控制文档的编写、配置控制规则的制订等。
                      确定软件的结构
                      设计软件的各个组成部分,包括:
                      .任务结构的设计:使用操作系统提供的函数,设计出一个最佳的任务结构;
                      .线程的设计;
                      .公共数据结构的设计:在确保系统一致性的基础上,设计出所需的公共数据;
                      .操作系统资源的定义;
                      .类的设计;
                      .模块结构设计:在设计时要充分考虑模块的划分、标准化、可重用和灵活性等;
                      .内存的分配与布局。
                      设计评审
                      对于软件设计的结果,进行一次设计评审,并在必要时对设计进行修正。具体内容包括:
                      .确认每件工作的执行方法是否恰当,其内容是否完善;
                      .确认该设计完成了系统需求规格说明书所要求的功能和服务;
                      .评估任务结构设计、评估类的设计、评估模块结构设计;
                      .对软件设计的结果进行总结,编写出相应的文档。
                      维护工作计划
                      执行软件设计工作控制,在每日、每周和每月的时间粒度上对进度进行控制,确保软件设计能够如期完成。
                      与硬件部门密切合作、相互协调
                      根据工作计划中的安排,定期与硬件部门召开会议,协调各自的进展。如果软件规格说明书发生了变化,立即进行调整,重新进行软件设计。
                      控制工作的结果,把工作记录存档
                      掌握当前的工作进展情况,尽早地发现和分析问题,并采取相应的措施。对各种事件进行跟踪记录,包括:
                      .执行过程控制,跟踪进展情况并定期记录、存档。
                      .执行质量控制,保留质量记录。
                      .记录产品的配置、版本变化、bug的发现和处理等信息。
               软件架构设计
               软件架构也称为软件体系结构,需要考虑如何对系统进行分解,对分解后的组件及其之间的关系进行设计,满足系统的功能和非功能需求。软件架构形成过程如下图所示。
               
               架构的形成过程概要
               软件架构设计需要从用户业务需求、未来应用环境、需求分析、硬件基础、接口输入、数据处理、运算或控制规律、用户使用等方面进行综合、权衡和分析基础上产生。面向某种问题的架构一旦确定就很难改变,随后的架构设计需要通过一系列的迭代开发完善,使得软件架构日趋成熟、稳定。
               软件架构的重要作用也在于控制一个软件系统的使用、成本和风险。好的架构要求是和谐的软件架构,包括与上一级系统架构相互和谐、与系统中同一级的其他组件架构互相和谐,确保系统满足性能、可靠性、安全性、信息安全性和互操作性等方面的关键要求,也具有可扩展、可移植性,从而为一个软件带来长久的生命力。
               在大量开发实践中,有很多广泛使用并被普遍接受的软件架构设计原则,这些原则独立于具体的软件开发方法,主要包括抽象、信息隐藏、强内聚和松耦合、关注点分离等。
               (1)抽象:这是软件架构的核心原则,也是人们认识复杂客观世界的基本方法。抽象的实质是提取主要特征和属性,从具体的事务中通过封装来忽略细节,并且运用这些特征和属性,描述一个具有普遍意义的客观世界。软件架构设计中需要对流程、数据、行为等进行抽象。复杂系统含有多层抽象,从而有多个不同层次架构。
               (2)信息隐藏:包括局部化设计和封装设计。局部化设计就是将一个处理所涉及到的信息和操作尽可能地限制在局部的一个组件中,减少与其他组件的接口。而封装设计是将组件的外部访问形式尽可能简单、统一。
               (3)强内聚和松耦合:强内聚是指软件组件内的特性,即组件内所有处理都高度相关,所有处理组合在一起才能组成一个相对完整的功能。而松耦合是指软件组件之间的特性,软件组件之间应尽量做到没有或极少的直接关系,使其保持相对独立,这样使得未来的修改、复用简单,修改之后带来的影响最小。
               (4)关注点分离:所谓关注点是软件系统中可能会遇到的多变的部分。如为适应不同运行接口条件,需要进行适应性的参数调整和驱动配置。关注点分离设计是将这部分组件设计成为相对独立的部分,使未来的系统容易配置和修改。而核心的部分可以保持一个相对独立的稳定状态。如果功能分配使得单独的关注点组件足够简单,那么就更容易理解和实现。但“展示某些关注点得到满足时,可能会影响到其他方面的关注点,但架构师必须能够说明所有关注点都已得到满足”。
               以上的原则中,删除需求细节或对细节进行抽象是最重要的工作,为用户的需求创建抽象模型,通过抽象将特殊问题映射为更普遍的问题类别,并识别各种模式。
               软件架构设计使用纵向分解和横向分解两种方式。纵向分解就是分层,横向分解就是将每一个层面分成相对独立的部分。经过分解之后,可以将一个完整的问题分解成多个模块来解决。模块是其中可分解、可组装,功能独立、功能高度内聚、之间低耦合的一个组件。
               类似于建筑架构,软件架构也决定了软件产品的好用、易用、可靠、信息安全、可扩展、可重用等特性,好的软件架构也给人完整、明确、清晰等赏心悦目的感觉,具有较长的生命力。
               架构设计是围绕业务需求带来的问题空间到系统解决空间第一个顶层设计方案。按照抽象原则,在这个阶段进行的架构设计关注软件设计环节抽象出来的重要元素,而不是所有的设计元素。在架构设计时将软件这些要素看作是黑盒,架构设计需要满足黑盒的外部功能和非功能需求的目标。一个软件的架构设计首先为软件产品的后续开发过程提供基础,在此基础上可将一个大规模的软件分解为若干子问题和公共子问题。而一般意义的软件设计是软件的底层设计,开发人员需要关注各子问题或要素的进一步分解和实现,是根据架构设计所定义的每个要素的功能、接口,进一步实现要素组件内部的配置、处理和结构。在遵守组件外部属性前提下,考虑实现组件内部的细节及其实现方法。对于其中的公共子问题,形成公共类和工具类,从而可以达到重用的目的。
               一般的软件构架是根据需求自上而下方式来设计,即首先掌握和研究利益相关方的关键需求,基本思路是首先进行系统级的软件架构设计,需要将软件组件与其外部环境属性绑定在一起,关注软件系统与外部环境的交联设计;其次将一个大的系统划分成各组成部分,这些部分可以按照架构设计的不同方法,分为层次或成为模块;之后再开始研究所涉及到的要素,再实现这些要素以及定义这些要素之间的关系。
               在实际工作中,软件构架也可采用自底向上的方法,前提是已经建立了一个成熟稳定的软件架构,也可以称之为“模式”。模式是组织一级设计某一类具体问题的顶层思路,是为了解决共有问题解的方案模板,但并不是一个问题的设计或设计算法。
               模式常常整合在一起使用,提供解决更大、更复杂问题的解决方案,而组成一个解决问题的通用框架。框架往往提供统一平台和开发工具,而且已经高效地利用了已经经过验证的模式、技术和组件。在新软件系统的设计中指定沿用或重用这种架构框架,这时其他重要元素可以在这个架构基础上针对新的需求进行扩展,有时是针对性地进行参数化设计。所以在架构设计中可以借用模式的概念进行设计,采用成熟的先进的设计框架和工具提高开发的效率,保证设计正确性。
               下图所示是针对架构设计中非功能需求的多维度分析,从中可知任何一个因素的变化都会带来对其他因素的影响。实际上软件架构设计属于软件设计过程的一部分,但超越了系统内部的算法和数据结构的详细设计。
               
               架构的多维度分析
               在架构设计阶段,需要定义边界条件、描述系统组织结构、对系统的定量属性进行约束、帮助对模型进行描述并基本构造早期的原型、更准确地描述费用和时间的评估。
               软件设计方法
               在将系统分解为各个组件的过程中,需要采取不同的策略,而每个策略则关注不同的设计概念。根据分解过程中所采用的不同策略,设计方法有基于功能分解的设计方法、基于信息隐藏的设计方法和基于模型驱动开发的设计方法等分类。
               (1)基于功能分解的设计方法。实时结构化分析与设计采用了功能分解,系统被分解为多个函数,并且以数据流或控制流的形式定义函数之间的接口;基于并发任务结构化的设计(Design Approach for Real-Time Systems,DARTS)提供了任务结构化标准,辅助人员确定系统中的并发任务,并指导定义任务接口。
               (2)基于信息隐藏的设计方法。面向对象(Object Oriented,OO)设计方法将数据和数据上操作封装在对象实体中,对象外界不能够直接对对象内部进行访问和操作,只能通过消息间接访问对象,符合人类思维方式,提高软件的扩展性、维护性和重用性。
               (3)基于模型驱动开发的设计方法。通过借助有效的(Model Driven Development,MDD)工具,构建和维护复杂系统的设计模型,直接产生高质量的代码,将开发的重心从编码转移到设计。当前使用较为广泛的MDD工具有IBM公司的Rhapsody。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有