毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
VC++晶片内部缺陷处理+文献综述(4)
2 基于Visual C++ 2008 的编程框架
2.1 编程框架的作用
从广义上来讲,将图像描述为一种通用的数据结构,并封装图像处理的外围功能,如图像的读取、显示和存储,从而使使用者能够关注于图像内容处理的本身。从狭义上来讲,数字图像处理编程框架的推出,是针对C/C++语言在数字图像处理中的优劣势,目标是能够做到扬长补短,可以使用C/C++语言相对轻松的完成数字图像处理功能。
2.2 编程框架的构建和经典的图像处理流程
编程框架提供了一个很好的数字图像处理环境,这个框架的构建流程并不复杂,大致分为三个步骤:
①建立一个新的多文档应用程序
②添加数字图像处理编程框架
③添加图像读取、显示和存储功能
一个经典的图像处理流程是首先获取图像的像素尺寸(高度和宽度),然后逐行(从上至下)逐列(从左至右)的遍历图像数据的每一个像素进行处理。代码如下:
long image_height = color.Get_height();
long image_width = color.Get_width();
for( int row = 0; row < image_height; row ++ )
for( int column = 0; column < image_width; column ++ )
{
// [ 具体处理代码 ]
}
2.3 编程框架的优势
使用动态一位数组表示图像,主要存在两个困难:一是相对于动态二文数组而言,像素定位不方便;二是由数组越界造成的内存泄露。对于行号为row列号为column的像素定位,动态二文数组可以表示为image[row][column],动态一位数组则表示为image[row*width+column],其中width为图像image的宽度。关于语句image[row*width+column],编程中width极易写错或者漏写,不但容易造成内存泄露,而且会消耗程序员的额外精力。原则上,对于一个像素的定位只需要行号和列号的信息,而不需要图像宽度等信息。至于数组越界引起的内存泄露,这是所有动态数组的通病,而不仅仅局限于动态一位数组。
2.4 编程框架中的具体类实现
图2.1 编程框架的类实现
3 晶片图像的预处理
由于本次课题的工作是进行晶片内部的缺陷检测,因此无需考虑边缘的缺陷,比如缺角等。所以主要致力于晶片内部的污点、划痕、裂缝等,最后给出具体数据。
3.1 24位真彩色位图转为8位灰度图
由于原始图片是G格式,不便于处理,经过转换格式后变为BMP格式,是24位真彩色位图。真彩色位图虽然能反应更多的信息,数据完整,但是占据的存储空间也大得多,处理起来更加复杂、耗时。并且现有的图像处理算法大都是基于灰度图的,因此彩色图像的灰度化是图像处理的前提。
关于24位真彩色位图转换成灰度图,常用的有两种方法:
(1)首先创建好256色灰度图调色板,然后根据人眼的视觉特征把真彩色位图中每个像素的RGB三分量提取出来,按照如下公式[12]:
Y=0.299R+0.587G+0.114B
转换,其中Y即为转换之后的单个像素灰度值,R为单点像素的红色分量,G为绿色分量,B为蓝色分量,这个公式通常都被称为心理学灰度公式,因为科学家发现使用上述公式进行转换时所得到的灰度图最接近人眼对灰度图的感觉。
(2)很复杂但效果较好的八叉树颜色量化算法[13],这种颜色量化算法实现起来难度较大,除了专门的图像处理软件之外,一般很少使用,这里不便采用。
在经过实验和测试后,发现已有的这些图片经过第一种方法转化后的灰度图,对应像素的灰度与原图中像素的绿色分量基本相同,甚至绿色分量中包含了更多的信息。因此,使用绿色分量值作为灰度值,即Y=G。
共9页:
上一页
1
2
3
4
5
6
7
8
9
下一页
上一篇:
JSP+mysql网上书店的设计与实现
下一篇:
H.264差错隐藏技术研究及改进+文献综述
vc++几种排序算法演示软件实现
电子商务企业内部控制体系的构建【3248字】
VC++在线学习平台的设计
VC++BlackList的主机防火墙设计+源代码
VC++五子棋游戏的设计
VC++基于GPU高光谱图像目标检测方法
基于VC++五子连珠游戏的设计
医院财务风险因素分析及管理措施【2367字】
AT89C52单片机的超声波测距...
神经外科重症监护病房患...
中国学术生态细节考察《...
承德市事业单位档案管理...
国内外图像分割技术研究现状
C#学校科研管理系统的设计
志愿者活动的调查问卷表
公寓空调设计任务书
10万元能开儿童乐园吗,我...