优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

VC数码相机自动白平衡算法的研究设计与实现

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

摘 要

由于受色温的影响,在异常色温条件下摄像时,必须对图像进行白平衡才能得到颜色较为真实的图像。本文对数码相机常见的白平衡方法:整体白平衡法和局部白平衡法采用软件模拟实现。在此基础上实验了:基于人体肤色白平衡法和去除大面积单调背景颜色白平衡法两种方法。实验表明:这些白平衡法都具有很大的局限性。整体白平衡法与去除大面积单调背景颜色白平衡法适用于色温适中的情况,局部白平衡法适用于有白色物体存在的情况,基于人体肤色白平衡法适用于有人存在的情况。 【买计算机毕业论文就到www.think58.com】 本文来自think58

[资料来源:http://THINK58.com]

think58

[资料来源:http://www.THINK58.com]

关键词:色温,白平衡,色差,数码相机 copyright think58 [资料来源:http://think58.com]

第一章 前言

§1 研究背景

随着国内外高科技产业的高度发展,印刷、摄影、拍照等各种技术逐渐走向数码化。特别是随着个人电脑的普及,数码相机的价格逐渐降低,个人拥有数码相机已经成为一种消费时尚。随着数码技术的进步以及人们对数字图像质量追求的越来越苛刻,人们对于影像色彩方面的要求也相应的提高。 [来源:http://think58.com]

虽然数码相机在市场上出现已经有很长一段时间,且其价格也比较低,但是市场销售的一般消费型数码相机的品质离所见即为所得的理想状态,还有比较大的距离。就目前数码相机而言,存在的一个难题就是数码相机摄取的原始图像品质不良,不能准确再现事物的本来颜色。而要再现事物的真实颜色,一个重要的步骤就是进行白平衡。

[来源:http://think58.com]

§2 物理光学原理与研究目的

光的颜色与色温有着密切的联系,色温是描述光的不同色彩的一个重要概念。光的颜色受色温影响的规律是:色温越高,辐射能越大,短波光越多,因此蓝光成分多,红光成分少;色温越低,辐射能越小,长波光越多,因此蓝光成分少,红光成分多。对于自然光,在不同的时间,其色温也有所变化。因为受色温的影响,物体的颜色会出现偏差,所以通常物体所呈现出来的颜色并不是物体本来的颜色,那些原本是白色的物体也就不再表现为白色。人眼具有自动白平衡的机能,即把受色温影响而变色的白色物体还原为白色的机能,所以我们平时能够看到物体的本来颜色。但是在数码相机中,对光的颜色的感知是通过传感器进行的,物理传感器不具有人眼的功能,因此不能自动进行白平衡。所以用数码相机拍照时所得到的物体图像的颜色是失真的。 copyright think58

[来源:http://think58.com]

因为数码相机拍照时所得到的物体的原始图像的颜色是失真的,所以我们必须对该原始图像进行校正,以期得到具有比较真实颜色的图像。我们进行自动白平衡研究的目的就是要使数码相机具有这样的自动校正的能力,从而使我们通过数码相机能够得到比较真实的图像。

think58好,好think58

[资料来源:http://think58.com]

[资料来源:http://www.THINK58.com]

我们认为:到目前为止,白平衡算法的发展经历了两个发展阶段,第一个阶段我们可以称之为被动白平衡阶段,有的书上也称之为:传统白平衡。这一阶段的白平衡算法属于被动式的,其主要思想就是拍摄图像之前,先拍摄纯白色的物体,取得白色的三原色RGB的值,然后依照这个标准进行白平衡。这一阶段进行的白平衡操作十分的麻烦,于是由此促进了第二阶段各种白平衡方法的产生;第二阶段,也就是目前所在的阶段,我们可以称之为:自动白平衡阶段。在这个阶段产生了各种自动白平衡算法。所谓自动白平衡也就是拍摄图像时无须用户预先拍摄白色物体,数码相机或摄像机会自动根据图像依照预先设置的各种方法进行平衡。目前使用较多的是:全局白平衡和局部白平衡等。

[来源:http://www.think58.com]

§3 我们的工作

本文用软件模拟的方法来对自动白平衡算法进行研究,实现了全局白平衡和局部白平衡两种算法,并在此基础上参照基于先验知识的自动白平衡算法[1]实现了基于人体肤色的白平衡算法。此外我们在全局白平衡和局部白平衡的基础上实验了去除大面积单调背景色白平衡算法。在这次实验中,我们对多种不同色温下的图像进行处理,取得了一些实验结果,初步探明了各种算法的局限性。本文所述的所有算法都是在windows2000环境下,采用Microsoft公司的visual c++ 6.0为开发工具,在单文档模式下调用何斌、马天予等人开发的DIB(与设备无关位图)函数库[2]进行开发的。在这次实验中采用的图像是由江奎公司提供的未经白平衡处理的图像。

think58.com

[资料来源:THINK58.com]

[资料来源:http://think58.com]

第四章 软件环境的构架

[资料来源:http://THINK58.com]

本次实验的开发工具是visualc++6.0,软件的运行环境是windows系统。 本文来自think58

[资料来源:http://THINK58.com]

软件的总体设计

本次实验软件采用单文档模式开发,首先建立名字为TEST,类型为MFC AppWizard 的工程(project),接着选择程序类型为:单文档,在选择视图view的基类时选择CscrollView 。

think58

[版权所有:http://think58.com]

[资料来源:http://www.THINK58.com]

在完成上叙工作之后,开始对软件的基本界面进行设计。首先初始化滚动条,因为考虑到所处理的图片大于工作区面积,甚至大于屏幕面积。在void CTESTView::OnInitialUpdate()中初始化滚动条。接着在采单资源中添加一个“平衡方法选择”的弹出菜单项和一个“重新装载图像”普通菜单项。并在“平衡方法选择” 弹出菜单项下添加四个菜单项“全局平衡”、“局部平衡”、“基于人的肤色平衡”、“去除大面积单调色平衡”。 copyright think58

[来源:http://think58.com]

然后添加DIB(Independent Bitmap) API函数库,该库的具体细节见文献[2]。接着添加各种变量、各消息映射函数和功能函数。最后得到的界面如图4-1。

think58.com [资料来源:http://THINK58.com]

[资料来源:http://think58.com]

软件中添加的功能函数的如下:

内容来自think58 [资料来源:http://THINK58.com]

[资料来源:http://www.THINK58.com]

void CTESTView::OnToolAll()//全局白平衡算法实现函数; think58 [来源:http://think58.com]

void CTESTView::OnToolMost()//局部白平衡算法实现函数; think58.com

[资料来源:THINK58.com]

void CTESTView::OnToolOndefinity()//去除大面积单调色平衡算法实现函数;

内容来自think58 [来源:http://www.think58.com]

[来源:http://www.think58.com]

void CTESTView::OnToolBasedface()//基于人的肤色平衡算法实现函数;

本文来自think58 [资料来源:http://www.THINK58.com]

[资料来源:http://www.THINK58.com]

软件的工作流程如下:打开图像文件(本次实验我们采用bmp位图格式的图片)—→调用DIB API库函数FindDIBBits()找到DIB图像象素起始位置—→将图像的所有象素值读入内存以开辟的单元—→选择不同的白平衡算法对内存单元中的像素值进行处理,得到修正因子—→对图像进行修正—→修正结果写回原图像。

copyright think58 [资料来源:http://think58.com]

[资料来源:http://think58.com]

本文来自think58 [来源:http://www.think58.com]

包含资料:源程序+论文(15000字以上)+可执行程序+答辩稿ppt+开题报告+外文翻译 think58 [资料来源:http://THINK58.com]

copyright think58 [资料来源:THINK58.com]

获取资料请您联系本站客服 copyright think58

[版权所有:http://think58.com]

[来源:http://www.think58.com]

copyright think58 [来源:http://think58.com]

[资料来源:http://www.THINK58.com]