基于VB60的色差计算模型.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VB60的色差计算模型

基于VB6.0的色差计算模型一、引言光学伪装是工程伪装的重要组成部分,光学伪装效果是判断伪装措施有效与否的第一步。而这其中色差的计算,是伪装效果检测与评估的重要指标,是各类关于颜色计算的基础。本文重点讨论单像素色差的计算方法并通过VB6.0实现图像任意像素点的色差比较。二、颜色空间1、RGB颜色空间我们最常用的颜色空间模型是RGB模型,它用三维空间中的一个点来表示一种颜色,如图一所示。每个点有三个分量,分别代表该点颜色的红、绿、蓝亮度值,亮度值限定在[0,1]。在RGB模型立方体中,原点所对应的颜色为黑色,它的三个分量值都为零。距离原点最远的顶点对应的颜色为白色,它的三个分量值都为1。从黑到白的灰度值分布在这两个点的连线上,该线称为灰色线。立方体内其余各点对应不同的颜色。彩色立方体中有三个角对应于三基色——红、绿、蓝。剩下的三个角对应于三基色的三个补色——黄色、青色(蓝绿色)、品红(紫色)。它的优点是:方便直观;RGB系统的缺点:①RGB空间用三原色的混合比例来定义不同的色彩,使不同的颜色难以用一个准确的数值来表示和定量分析;②由于彩色合成图像通道之间相关性很高,使合成图像饱和度偏低,色调的变化不大,图像视觉效果比较差;③人眼不能直接感觉出红、绿、蓝三色的比例,只能通过感知颜色的亮度、色调和饱和度来区分物体,而色调和饱和度与RGB没有线性关系,因此,在RGB空间中对图像进行增强处理,其结果难以控制。2、Lab颜色空间Lab颜色模型是设计成符合孟塞尔彩色系统的表色系,国际照明委员于1976年向世界各国推荐。Lab颜色由亮度或光亮度分量L和a、b两个色度分量组成。其中a在的正向数值越大表示越红,在负向的数值越大则表示越绿;b在的正向数值越大表示越黄,在负向的数值越大表示越蓝。CIELab颜色空间是国际照明委员会的通用的与设备无关的、均匀色空间,是常用于设备色空间与设备色空间进行转换的中间色空间。CIE色彩模式是以数学方式来表示颜色,所以Lab色彩模式不依赖于特定的设备,这样确保输出设备经校正后所代表的颜色能保持其一致性,不会受到任何硬件的性能和特性的影响。在CIELAB颜色空间中使用L*,a*和b*坐标轴定义CIE颜色空间。其中L*代表光亮度。a*和b*代表色度坐标,其中a*代表红-绿轴,b*代表黄-蓝轴。a*=b*=0表示无色,因此L*就代表从黑到白的比例系数。色差用ΔE*表示,。因此,色差计算公式其中,ΔL*表示亮度差,Δa*表示红-绿差,Δb*表示黄—蓝色差。三、计算模型对于任意一张数字图像,每个像素点均有唯一的值c与之相对应,c值在图像导入后可直接在VB中读取出来。由c可分别算得R、G、B值c = Picture1、Point(x,y)‘读取像素点的值R = c Mod 256‘计算RGBG = (c Mod 65536) \ 256B = c \ 65536其中a mod b 表示a除以b得到的余数;“\”代表相除取整。像点的三刺激值X、Y、Z的计算公式为:其中矩阵根据RGB到LAB空间的换算公式式中①X0,Y0,Z0为D65光源对应的三刺激值,= 109.87; = 100; = 35.59。②函数f表示为:。四、模型实现1、用VB建立计算模型在VB主界面插入需要的控件和样本图片,预设用于比较的两个像素点的坐标(352,78),(78,241),也可以通过点击图片或直接输入的方式获取坐标图二主界面点击图片获取坐标的方法是将“鼠标点击下”的事件MouseDown定义为坐标点(X,Y)的函数,由此可得到鼠标点击位置的坐标,再定义鼠标抬起的动作MouseUp为另一坐标(X2,Y2)的坐标,操作就是要点下鼠标获取第一个点坐标,然后摁住鼠标不放,移动到第二个目标点松开鼠标,即可获得第二个坐标点的坐标。当然也可以插入2张图,这样就可以依次单击,获取两个点的坐标了。目标像素的坐标计算代码为:Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)c = Picture1、Point(X, Y)Text1、Text = XText2、Text = YEnd Sub上述代码中的c为图像文件中与像素颜色一一对应的值,根据计算模型的公式可算得像素点的RGB值,进而算得L*,a*,b*以及两个色块的色差ΔE*2、运算举例选取下图所示位置的三个像素点,这里通过目视观察,显然能看出点①和点②颜色相近,都为偏红色,点③为白色,点②和点③的颜色相差较大。图二 坐标点的选取依次得到点①的坐标为(438,252);点②的坐标为(451,258);点③的坐标为(397,293);输入点①和点②的坐标计算得到他们的RGB值R=

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档