基于CCD成像技术测量设计.docx
- 文档编号:18011097
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:24
- 大小:1.32MB
基于CCD成像技术测量设计.docx
《基于CCD成像技术测量设计.docx》由会员分享,可在线阅读,更多相关《基于CCD成像技术测量设计.docx(24页珍藏版)》请在冰点文库上搜索。
基于CCD成像技术测量设计
HUNANUNIVERSITY
光电子课程设计
题目基于CCD成像技术测量设计
学生姓名李湃刘泊荣
王晓夏胜轩
指导老师黄桂芳
目录:
摘要 ――――――――――――――――――――――――――――――――-2
CCD简介 ―――――――――――――――――――――――――――――-2
彩色线阵CCD实验仪及相关软件 ―――――――――――――――-4
仪器及软件使用说明 ―――――――――――――――――――――――5
模版测量实验 ―――――――――――――――――――――――――――
基于CCD扫描的电脑识别条形码实验――――――――――――――
总结 ―――――――――――――――――――――――――――――-
附录一(程序源代码)―――――――――――――――――――――-
附录二(参考文献)――――――――――――――――――――-
附录三(心得体会)―――――――――――――――――――――-
摘要
本课程设计我组选取的课题是“基于CCD成像技术测量设计”,所使用的实验设备是彩色线阵CCD实验仪及电脑。
利用CCD实现光信号到电信号的转变,利用电脑软件辅助采集测量数据。
我们通过测量样板的长度、角度、颜色实验熟悉了实验设备。
在此基础上,对采集到的国际商业标准的商品条形码进行了测量。
同时编写程序对实验数据进行分析进而得到条形码的编码。
实验结果很理想,除一个条形码因为材料问题辨别有误,其他条码均辨别正确。
CCD简介
ChargeCoupledDevice(CCD)电荷耦合器件。
CCD是一种半导体装置,能够把光学影像转化为数字信号。
CCD上植入的微小光敏物质称作像素(Pixel)。
一块CCD上包含的像素数越多,其提供的画面分辨率也就越高。
CCD的作用就把图像像素转换成数字信号。
CCD在摄像机、数码相机和扫描仪中应用广泛,只不过摄像机中使用的是点阵CCD,即包括x、y两个方向用于摄取平面图像,而扫描仪中使用的是线性CCD,它只有x一个方向,y方向扫描由扫描仪的机械装置来完成。
线阵CCD
单排感光单元,数目可以做得很多,在同等测量精度的前提下,其测量范围可以做的较大,并且由于线阵CCD实时传输光电变换信号和自扫描速度快、频率响应高,能够实现动态测量,并能在低照度下工作,所以线阵CCD广泛地应用在产品尺寸测量和分类、非接触尺寸测量、条形码等许多领域。
由于CCD像元是有间隔的,不论面阵还是线阵CCD获取的图像外观虽然是致密的,但实质上都是离散图像,但面阵CCD像元在纵横两个方向间隔一致,其图像的离散度是一致的,而线阵CCD图像由于存在像元间距和扫描行距,像素点在两个坐标方向上的距离分别是像元间距和扫描行距,一般来说扫描行距受机械传动部分的限制,远大于像元间距。
线阵CCD获取二维图像,必须配以扫描运动,在此过程中,线阵CCD在电机驱动下水平前移,按照固定的时间间隔采集一行图像。
CCD采集图像的时间间隔主要取决于光积分时间,也应该是相等的,因此行距应该是相等的,但由于电机运动产生的振动、启停过程中速度的变化,特别是机械传部分的误差都会影响采集行距的一致性,同时,线阵CCD自身光积分时间也会影响采集行距。
彩色线阵CCD实验仪及相关软件
我们选用的是YHLCCD-IV型彩色线阵CCD多功能实验仪。
仪器各部件介绍:
标号
名称及功能
标号
名称及功能
1
电源开关
9
积分时间设置按钮(十位加1)
2
二值化阈值电平调节按钮(加1)
10
积分时间设置按钮(个位加1)
3
二值化阈值电平调节按钮(减1)
11
驱动频率设置按钮(循环加1)
4
硬件二值化开关
12
仪器显示面板
5
振动装置电机开关
13
顶盖(可拿下)
6
计算机并口连接端口
14
测量端子
7
积分时间设置按钮(个位减1)
15
测量用接线柱(未显示)
8
积分时间设置按钮(十位减1)
16
220V电源接入口(未显示)
程序界面(如图1)
程序菜单各选项与下面的快捷图标一一对应。
分别为打开文件、保存、数据采集方式、数据显示方式、采集间隔、版本信息键。
软件界面的下方一般有阈值调节框、测量条件框、测量进度框、以及放大倍率框计算框。
分别完成对应功能。
在最下方的状态指示条上有软件状态指示(图中为“就绪”)、信号饱和状态指示、信号垂直度指示。
参照这些状态指示,完成实验中镜头的调节工作。
仪器及软件使用说明
仪器部分:
1、电源开关:
确认将电源连线(插口位于仪器后面)连接至交流220V电源后,拨动此开关,本开关电源指示灯应点亮。
说明电源已经接通,实验仪可以开始工作了。
2、驱动频率设置按钮:
调节驱动频率,显示数字为“0”——“3”循环,“0”表示1MHz驱动频率,“1”表示500KHz,“2”表示250KHz,“3”表示125KHz驱动频率。
3、积分时间设置按钮(共4个):
用于控制本实验仪积分时间,显示“00”——“31”共32档积分时间,通过改变驱动频率,可以扩展积分时间设定范围。
设定的积分时间与当前的驱动频率有关,例如,在“0”档驱动频率下每改变一档积分时间,其积分时间仅改变0.256ms,而在“1”档驱动频率下每改变一档积分时间,其积分时间将改变0.512ms。
4、二值化阈值电平调节按钮(共2个):
用于调节本实验仪阈值电平,每按一次,阈值电平改变0.02V。
仪器显示面板显示为当前的阈值电平电压值。
延时约3秒钟后,自动恢复为显示积分时间和驱动频率。
5、计算机连接端口:
通过随机的电缆将此端口与计算机并口(打印接口)相连接。
6、测试端子:
供示波器测量用,包括CCD所有驱动信号和二值化实验测量信号。
7、顶部盖板:
打开后可以看到内部镜头和光源,调节镜头光圈和对焦(如下图1、2)必须打开顶部盖板。
8、片夹:
本实验仪共提供9个测量片夹,其中6个有“A”——“F”编号,1个三色片夹(RGB三色),1个用于图像扫描片夹以及1个空白片夹。
片夹在打开仪器顶部盖板后插入光源前面的片夹夹具内(如下图3、4),空白片夹用于自行设计实验内容。
9、
注意事项:
打开实验仪顶盖,右侧是光源和测量片夹支架,左侧是CCD和光学镜头。
左侧的固定架顶端有两个铜制的旋钮,镜头一侧的用于固定镜头接圈,实验仪出厂时已经调整好并已紧固。
请勿动。
另一个用于固定CCD,在做振动实验时,需要调整CCD方向,方法是先旋松该旋钮,转动CCD固定环90°,使CCD方向垂直(铜旋钮对准红色标志点),然后再旋紧该旋钮。
做其他实验时,CCD方向水平(铜旋钮对准银色标志点)。
调整方法是反向旋转90°。
软件部分:
打开:
打开数据文件。
保存:
以当前的文件名,将当前的数据按固定格式进行保存。
数据采集:
“数据采集”包括“单次采集”、“连续采集”和“多次平均测量”三种方式(如图4、图5)。
1、单次采集
1)每按一次“单次”按钮只执行一次数据采集。
2)在“数据采集”菜单中,选择“单次采集”一项;或直接从工具条上选择“单次”的按钮。
2、连续采集
1)按下“连续”进行连续采集,在此期间,程序的其它功能将被屏蔽,直到按下“停止”按钮。
2)在“数据采集”菜单中,选择“连续采集”一项;或直接从工具条上选择“连续”按钮。
3、多次平均测量
1)先设置采集次数,然后按下“平均”按钮。
界面下部的进度条将显示采集进度(如图6)。
按下停止按钮可以终止采集,否则一直完成采集次数后自动停止。
2)在工具条上选择“平均”按钮。
图6多次采集取平均值
模版测量实验
长度测量部分
实验原理:
当被均匀照明的被测物体通过成像物竟成像到CCD的像敏面上时,被测物体通过成像物镜成像到CCD的像敏面上时,被测物体像黑白分明的光强分布使得相应像敏单元上存储载荷了被测物尺寸信息的电荷包,通过CCD及其驱动器将载有尺寸信息的电荷包转换为时序电压信号(输出波形)。
根据输出波形,可以测得物体在像方的尺寸D`,再根据成像物镜的物像关系找出光学成像系统的放大分辨率β,便可以用下面公式计算出物体的实际尺寸D。
D=D`/β
显然,只要求出D`,就不难测出物体的实际尺寸。
线阵CCD的输出信号U承受光强的变化关系为线形的,因此,可用U模拟光强分布,采用二值化处理方法将物体边界信息检测出来是简单快捷的方法。
有了物体边界信息便可以进行上述测量工作。
实验步骤:
(1)打开实验仪上盖板取出片夹F,将准备好的被测信号(黑底白色条可以为测量片夹B、C等)插入后端片夹夹具中。
(2)设置“浮动阈值”为50,选择收缩图显示,数据采集间隔设为0s,设置采集次数为100次,采集方式为100采集取平均值。
(3)注意测量条件项,包括放大倍率和像敏单元尺寸。
点击“结果”按钮,弹出测量结果框,记录所测的结果。
我们测量的样片如图所示:
测量结果如图所示:
测量结果与实际相比较:
条纹编号
测量尺寸(mm)
实际尺寸(mm)
亮1
1.89
2
亮2
5.91
6
亮3
3.96
4
亮4
10.93
11
亮5
1.41
1.5
角度测量部分
实验原理:
利用线阵CCD测量被测物体角度的方法有很多,其实质都属于尺寸测量和位移量的测量。
常用的有两种方法。
第一种方法如图6-1所示。
图中水平粗线为线阵CCD像敏单元阵列,假设待测物体在CCD像面上的测量宽度为D,当该物体旋转角度α后,CCD感光线上测量的宽度值也发生了相应变化,变为S。
从图6-1可以推导出待测角度α=sin-1(D/S)。
这种方法比较简单,适用于低精度大尺寸测量,且光学放大倍数不高的场合,并且必须保证被测物体的宽度是已知的。
当待测物体本身的宽度尺寸D有显著变化时,会影响测量精度。
测量角度的第二种方法是利用彩色线阵CCD测量物体角度。
彩色线阵CCD由3条相互平行的像敏单元阵列构成,当被测物与线阵CCD像敏单元阵列成角度α时,可以利用彩色线阵CCD两条平行的阵列传感器进行角度测量。
如图6-2所示,假设被测物在像面的投影如灰色部分所示,G、B、R分别为彩色线阵CCD的G、B、R三条像敏单元阵列(阵列传感器)。
由图中可以看出,三条阵列传感器对待测物体成像后的边界是相互错开的,通过对G、R阵列传感器的边界信息提取测量,便可以测得图中的S。
而相邻感光线的间距为64m为已知量,则G、R阵列传感器的边界间的距离L0=128m。
由此可以推导出待测角度为
α=tg-1(T/S)(6-1)
由于彩色线阵CCD的相邻阵列传感器的距离L0较宽,而同列像元的中心距l0很小,因此用这种方法测角可以获得较高的精度。
这种方法测角的角度分辨率为
αmin=tg-1(l0/L0)(6-2)
算法一实验步骤:
(1)打开实验仪上盖板将测量片夹D插入后端片夹夹具中。
点击“算法1”按钮(如图6-3),此时UG为阵列传感器的输出信号。
(2)设置阈值为“浮动阈值”方式,数值选为50。
选择“压缩”显示,数据采集间隔设为0s,设置采集次数为10次,采集方式为10采集取平均值。
(3)运行测量软件,并将所显示的测量结果(如图6-4所示)记录在实验报告中。
算法二实验步骤:
点击“算法2”按钮采用TCD2252D的UR、UG输出信号进行测量。
被测物用片夹E的图形代替。
实验步骤同角度测量方法一。
我们测量的样片如下:
测量结果如下
样片2
测量结果:
结果与实际比较:
角度编号
实际尺寸
测量尺寸
1
45
45.22
2
60
62.02
本数据由算法二算得,算法一对样板的放置水平度要求高,算法二对放置位置的要求相对较低,故同等情况下算法二精确度略高一些。
RGB颜色测量部分
实验步骤:
(1)打开实验仪顶盖,插入三色片夹。
(2)打开仪器顶盖,确定CCD为水平位置(即黄色旋钮对应银白标志点),运行《颜色识别实验》软件。
(3)选择收缩图显示,数据采集间隔设为0s,设置连续采集方式。
(4)关闭实验仪。
逐步增加积分时间和驱动频率,观察三种颜色曲线的变化情况并做好相应记
我们测量的样片如下:
测量结果如图:
实验数据:
透光膜颜色
R
G
B
红
169
42
34
绿
27
188
139
蓝
55
96
170
基于CCD扫描的电脑识别条形码实验
实验大纲:
1、利用线阵CCD扫描国际标准的商品条形码。
2、利用计算机软件采集扫描数据并将数据以文本文件格式保存。
3、利用条形码的制作规格,编写程序实现对扫描数据的读取和分析,并最终给出被扫描条形码的编码。
实验材料
405
031
015
093
011
程序源代码主函数部分(完整代码见附件1):
intmain()
{
floatdata1[N],data2[M];
readfile(data1);//从txt文件中读取数据
getdata(data1,data2);//对读取的数据初步处理
distinguish(data2);//对处理后的数据分析并得到编码
return1;
}
识别结果:
405编码为902083881405识别正确
031编码为9057343010131识别正确
015编码为921168520015识别正确
093编码为940631900093识别正确
011编码为940352201011识别错误
前四个条码都识别正确,第五个因为材料问题,识别错误
总结
线阵CCD由三条相邻感光线组成,分别感应红绿蓝光。
实验过程中发现计算机软件求得的镜头投影放大倍率准确度不高。
这影响了物体长度测量,但不影响角度测量和条形码识别实验,因为后两者用到的只是亮部暗部大小的比例关系。
本次条形码识别实验,利用的是线阵CCD仪器提供的光源,条形码在光源与镜头之间,镜头接收的是投射光。
改进的方法是在镜头同一方向处给条形码提供亮度均匀的照射光,让光源接收反射光。
本次实验由于时间紧迫,找不到合适的光源,故没有使用该改进方法。
本次课程设计李湃为组长,负责整体进度安排。
模版测量实验由小组四人完成。
条形码辨别实验的CCD扫描数据采集及课程设计答辩由刘泊荣完成;程序编写、答辩PPT由李湃完成;论文由王晓起稿,李湃修改,刘泊荣、夏胜轩定稿。
本组成员:
李湃、刘泊荣、王晓、夏胜轩
附录一条形码识别程序
#include
#include
#include
#include
usingnamespacestd;
#defineN187
#defineM48
voide(){
printf("nosuchfile!
");
system("pause");
exit(0);}
voidreadfile(float*data){//从文件中读数据
inti=0,j;
charch,num[6];
FILE*fp;
char*name;
cout<<"输入数据文件名(包含扩展名):
"< cin>>name; fp=fopen(name,"r"); if(fp==NULL)e(); cout<<"条形码编码识别结果: "< for(j=0;j while(feof(fp)==0){ ch=fgetc(fp); if(ch=='C')return; if((ch>='0'&&ch<='9')||ch=='.'){ num[0]=ch; j=1; ch=fgetc(fp); while((ch>='0'&&ch<='9')||ch=='.'){ num[j++]=ch; ch=fgetc(fp);} num[j]='\0'; data[i++]=(float)atof(num);}}} voidgetdata(float*data,float*data2){ inti=33,j=0,k=0; FILE*fp; while(i<=44){ j=i*3+3; data2[k++]=data[j]; data2[k++]=data[j-90]; i++;} i=17; while(i<=28){ j=i*3+3; data2[k++]=data[j]; data2[k++]=data[j+93]; i++;}} voidsearchn(intresult){ switch(result){ case3211: case1123: cout<<0;break; case2221: case1222: cout<<1;break; case2122: case2212: cout<<2;break; case1411: case1141: cout<<3;break; case1132: case2311: cout<<4;break; case1231: case1321: cout<<5;break; case1114: case4111: cout<<6;break; case1312: case2131: cout<<7;break; case1213: case3121: cout<<8;break; case3112: case2113: cout<<9;break;}} voiddistinguish(float*data){ inti,j,n; floatmltp; intr[M]; intresult; floatunit=0; for(i=0;i unit=unit+data[i]; unit=unit/84;//7*12=84 for(i=0;i mltp=data[i]/unit; n=(int)mltp; r[i]=(abs(mltp-n) n: n+1;} for(i=0;i result=0; for(j=0;j<4;j++)result=result*10+r[i++]; searchn(result);}} intmain(){ floatdata[N],data2[M]; readfile(data); getdata(data,data2); distinguish(data2); cout< system("pause"); return1;} 附录二参考文献 附录三小组成员课程设计心得体会 心得体会—李湃 本次课程设计完成得比较仓促。 因为之前忙于期末考试,之后又是六级考试,留下来专心做课程设计的时间只有四五天。 幸好在仓促的时间内,实验还是做的比较理想,条形码编码的识别率很高,可以说很成功。 在完成课程设计的过程中也遇到过一些困难,比如CCD长度测量,由于计算机软件放大率计算出现未知问题,几次测量效果都不是很理想。 幸好条形码识别只需利用到明亮条纹长度的比例关系与具体值无关,故而对于条形码实验并没有造成太大影响。 本课程设计由小组全体完成。 在完成的过程中,小组内部的团结协作显得至关重要,成员各司其职,尽心尽力。 整个过程收获甚多。 心得体会—刘泊荣 心得体会—王晓 心得体会—夏胜轩 CCD技术是一项既深奥又实用的科学,具有广泛应用前景的技术,特别是在现代非接触检测中,几乎都离不开CCD传感器的应用。 线阵CCD原理中数据采集系统应用到由摄像物镜、线阵CCD及其驱动电路、A/D数据采集卡和计算机系统组成。 摄像物镜将被摄物体的图像在CCD的像敏面上,并充满整个相敏单元阵列。 线阵CCD在驱动器的作用下可以高速的将整个列阵的信号电荷传过来。 通过计算机软件及同步脉冲触发实现A/D转换,并将转换结果存储在芯片上。 因此根据其工作原理可以从硬件和软件两方面提高线阵CCD的精确度。 比如硬件方面从光源入手,提高整个系统的分辨率,提高检测效率和检测精确度。 由于CCD像元是有间隔的,CCD获取的图像外观虽然是致密的,但实质上都是离散图像,所以线阵CCD图像由于存在像元间距和扫描行距,像素点在两个坐标方向上的距离分别是像元间距和扫描行距,一般来说扫描行距受机械传动部分的限制,远大于像元间。 而实际测量时考虑的因素更多,如光强,光的均匀度、入射方向等,以及被测物体的光学特性,比如工作距离,物体大小等。 此外也不能忽视噪声的影响,比如电流噪声,对实验结果尤其是灵敏度又见大影响。 而软件方面则要从A/D转化驱动电路、图像采集方法等方面入手提高精确度。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CCD 成像 技术 测量 设计