织梦CMS - 轻松建站从此开始!

罗索

驱动编程调优相关辅助工具-图形图像类

jackyhwei 发布于 2010-06-12 09:20 点击:次 
要成为一个专业的驱动开发者,我始终认为,只有认真学习相关硬件以及所涉及的子系统和应用领域,深入掌握其相关背景知识,才能真正开发出高效,有用的驱动 这篇说的是图形图像类的工具,通常会在LCD,Camera,TVOUT等驱动开发过程中使用到。
TAG:

要成为一个专业的驱动开发者,我始终认为,只有认真学习相关硬件以及所涉及的子系统和应用领域,深入掌握其相关背景知识,才能真正开发出高效,有用的驱动 这篇说的是图形图像类的工具,通常会在LCD,Camera,TVOUT等驱动开发过程中使用到。有些工具需要你对一些相关知识有些了解。应该说,了解一些图像处理,以及光学等方面的原理,对于驱动的开发调试常常会起到事半功倍的指导性作用。至少能让你自己显得更专业些

1   综述

说到驱动编程和调优的辅助工具,我想说的不是像source insight 或Visual Studio这类的代码阅读 开发工具,也不是像GDB Oprofile Strace之类的代码跟踪调试工具。

我所说的辅助工具,更多的是指针对各种各样类型的硬 件,以硬件开发调优和测试为目的,提供数据来源,数据仿真,数据抓包,提供测试用例,进行数据转换,格式转换等等各类辅助用途的工具。

这其中多数是一些现成的工具,也有些是为了方便,自己编写的一些小程序或应用。

也许有些工具,你从来不曾用过,也同样能完成自己的工作,或者出于麻烦,不愿意去学习了解相关的知识。但是要成为一个专业的驱动开发者,我始终认为,只有认真学习相关硬件以及所涉及的子系统和应用领域,深 入掌握其相关背景知识,才能真正开发出高效,有用的驱动,才能真正发挥硬件的所有潜在能力,从硬件能力软件应用的背景等角度去系统的思考驱动的框架结构。而不仅仅是简单的把硬件Run起来,做些修修补补的工作。

这篇说的是图形图像类的工具,通常会在LCD,Camera,TVOUT等驱动开发过程中使用到。有些工具 需要你对一些相关知识有些了解。应该说,了解一些图像处理,以及光学等方面的原理,对于驱动的开发调试常常会起到事半功倍的指导性作用。至少能让你自己显 得更专业些 8 )

2   颜色校准类:
2.1  LCD校准工具

校准你的PC显示器,应该是严肃的对待图像处理相关的工作第一步需要做的事吧。因为通常显示器都会有一定的偏色。不论你所做的驱动工作是调整LCD的颜色,对比度,gamma曲线,以期获得理想的显示效果,还是调整摄像头的相关参数,希望得到真实的成像效果。你都不可避免的,或者使用PC的 显示器作为参照,对比显示效果,或者用PC检查摄像头的成像结果。要做到客观科学,就要求你的PC显示器本身所呈现的图像效果是标准的,真 实的,这也就要求你对显示器进行校准。

最好的工具之一当然是Spyder,俗称蜘蛛。这是一套硬件工具,在使用时,由一个感 光组件吸附在显示屏幕上,运行配套的软件,采集屏幕发出的色彩亮度信息,生成校准数据,以颜色配置文件的形式对屏幕进行校准。蜘蛛有不同的规格,价格从数 百到数千不等,我只用过最便宜的Express版本。

 

此外,如果实在搞不到蜘蛛,也可以使用Photoshop中的色彩校正功能,按照 步骤,进行校正,这种方法存在较大的主观因素的影响。

2.2  颜色采样软件

很多场合,我们会想知道图像上某一点的具体颜色值是多少,例如分析camera拍摄的色板图像等。 使用Photoshop当然是可以的,不过,毕竟 有些大材小用。可以找到很多颜色采样的小软件,例如下面这个Color Cop。

不过需要注意一点的是,有些图像编辑显示软件在显示图像时,会根据图像内嵌的ICC文件等在显示时对图像色彩进行校正,所以用屏幕捕捉工具捕获的颜色值,可能会和图像编辑软件取得的色 彩值不同。

2.3  色度分析计

调试LCD驱动时,与PC的LCD进行比对,毕竟是一种主观的间接的方 法,如果想要精确的分析LCD的色彩,亮度指标,可以使用色度亮度分析计。类似下面这样的东西:

它的主要功能就是测量发光体的亮度值和色度信息。使 用时,可以让LCD显示例如红、绿、蓝、黑、白等纯色图像,用它采集LCD的亮度和色彩值。然后和理论标准值进行比对,进而调整。

这玩意用过几次,确实不错,不过价 格不便宜。。。

2.4  标准灯箱

如果你做过Camera驱动,或者你对摄影有一些兴趣,那你应该听过白平衡这样一个概念。简单的来说,物体显示的颜色,和它所处的环境光源是有密切联系的。标准灯箱,就是用来模拟几种常见的光源环境。不同的灯 箱有不同的用途,我所用过的灯箱可以模拟例如标准日光,日光灯光等光源。

标准灯箱的应用领域很广了,对于我来说,主要是用来 调试Camera驱 动的各种白平衡设置,以及标准光源下Camera的各种色彩相关的寄存器的设置。

 
3   颜色转换类

颜色转化,严格地说是色彩空间的变换,其包含的内容 是很广泛的,也是很复杂的一门科学。常见的转换包括例如从RGB色彩空间转换为打印领域常用的CMYK色彩空间等。

3.1  YUV2RGB
对于驱动开发来说,最常遇到的应该是RGB和YUV色彩空间的转换了。在图形显示,Camera数据采集等等场合都可能会遇到RGB和YUV的转换问题。

实际上YUV本身也存在很多不同的标准,所以RGB和YUV的转换公式会有好多种,在数字领域,常 见的应该还是RGB到YCrCb的转换。

没有找到很简单的工具直接计算色彩值,所以我用Excel表格制作了一个转换工具,填入RGB或YUV值,就能得到相对应的色彩值。
 
 
4   图像转换类
4.1  格式转换

图像格式的转换,如果是各种图形格式之间的转换,那 么有很多工具可以实现,最简单常用的不外乎就是Acdsee了。

除了这类图形格式的转换,在驱动开发中,最常用的应 该还是将一幅图像转换成二进制的RAW数据,用于直接在LCD上显示,这类工具我最常用的就是Image2Lcd了。

Image2Lcd能够将图像转换成LCD显示所需的点阵数据,可以设置输出数据的色深和颜色分量的排列顺序。也可以将数据输出成C语言数组的形式。
 
5   图像分析类
5.1  色板

标准色板,我认为是调试Camera类的驱动不可缺少的工具,常用的 是这种24色的标 准色板

 

进口的这种色板价格可不便宜,大概要100-200美金吧。没有找到合适的国产 替代品。这24个 色块是很有代表性的颜色,下面6个是灰阶,上来6个是三原色和三补色。其它还有一些肤色啊CMYK啊之类的颜色。

5.2  灰板

灰板主要用来调整白平衡和进行曝光 测试。相对而言比较便宜,几十块钱就能搞定了。很多摄影爱好者还随身携带一块呢。

 
 
5.3  色 板数据分析工具

有个很牛的软件叫 Imatest,通常很多数码媒体评测相机或镜头时都会使用这个软 件。它的功能很多了,包括测试MTF曲线,镜头光场变形等。

对于我来说,在Camera驱动中,可以用它来分析拍摄得到 的色板数据,进而调整摄像头的gamma曲线,对比度设置,颜色空间变换设置等参数。下面是一个分析色板底部6个灰阶块的亮度信息,计算Gamma值的示例:

 
5.4  其它分析工具

其它还有一些辅助图表,工具等是用来测试镜头的分辨 率,形变等,这个在小的摄像头上基本上就用不上了,因为即使测了,也没法做什么改变 8 ) 这个是由硬件 本身决定的。

6   其它
6.1  Gamma曲线计算工具

很多LCD,Camera Sensor都会有gamma曲线的寄存器设置,不过,通常不 同的厂商,gamma曲线的寄存器的设置方式都不一样,有的是分段取点,有的是分段取斜率。

不过,最基本的,第一步总是需要计算,对应于多少的gamma值,曲线上的数值应该是多少。这 个我也没有找到现成的工具,还是用excel表格制作一个简单的计算工具如下,对应曲线上的数值输出为十进制和十六进制:

 
 
上传到CSDN了:Gamma曲线计算工具
6.2  DisplayX

这是一个很小的显示器测试软件,主要用来测试颜色, 清晰度,聚焦,延迟等等。本来和驱动开发没什么关系,不过,它的测试项目很有代表性,自己写LCD驱动的测试程序时可以参考它的测试项目编写测试用例。

 

作者:刘旭晖 Raymond转载请注明出处 Email:colorant@163.com主页:http://sites.google.com/site/rgbbones/

(刘旭晖)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201006/9636.html]
本文出处:CSDN博客 作者:刘旭晖
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容