APP下载

基于USB2.0的数字图像处理系统

2018-01-20陈亚梅

魅力中国 2017年52期
关键词:数字图像寄存器图像处理

陈亚梅

摘要:本文是利用USB2.0芯片CY7C68013和图像传感器OV9650实现图像采集的硬件电路,在Windows 2000下编写驱动程序实现数字图像的采集,然后在VC++6.0开发环境下利用Intel的机器视觉库实现数字图像的处理与检测。

关键词:USB2.0、OV9650、数字图像处理

为了实现工业检测自动化,减轻由人工检测元器件的劳动强度,可以将数字图像处理系统应用于大批量生产过程中的检测与辨识,如:零件装配完整性,装配尺寸精度,零件加工精度,位置/角度测量等。其应用如:对汽车仪表盘加工精度的检查,胶囊生产中对胶囊壁厚和外观缺陷的检查,食品包装上面对生产日期的辨识,等等。

鉴于工程需要,要对一些元器件的外径进行测量,精度和速度要求不是很高,传统的基于PC的机器视觉系统用视频采集卡对视频信号进行采集,但是由于这种方案板卡成本太高,鉴于经济方面和开发周期的考虑,本文采用USB2.0接口的芯片CY7C68013与PC机实现了高分辨率、快速、全数字图像的实时采集系统,然后利用实时采集到的图像对元器件的外径进行测量。

一、数字图像的实时采集原理

数字图像的实时采集原理如图1所示。在采集速度满足的前提下,选取图像分辨率相对较高的图像芯片,根据项目和研究需要,在此选择了Omnivision technologies公司的OV9650芯片作为图像采集芯片,CMOS 彩色图像传感器OV9650将CMOS光感应核与外围支持电路集成在一起,具有可编程控制与视频模/数混合输出等功能,能够消除噪声、灯光闪烁等光电干 扰,输出清晰、稳定的彩色图像。OV9650的功能特点包括:单芯片1/4寸镜头,最大1280×1024像素分辨;标准SCCB接口;开窗功能,局部图像输出;输出RGB/RawRGB/YCbCr视频信号;自动曝光控制/自动白平衡/自动增益控制/自动亮度控制;图像质量控制,包括颜色饱和 度、锐度、伽马校正等。

为了取得好的图像,镜头和光源系统是至关重要的,鉴于项目的需要,选用Computar工业自动化(FA)镜头0814-MP,焦距:8mm;工作距离:100mm-300mm;低变形率(低于1.0%),光源在日常光照下即可。

数字图像实时采集与传输模块,采用了Cypress公司的CY7C68013的USB2.0接口芯片,该芯片的主要特点是在一块芯片上集成了USB2.0内核和引擎、一个增强型的51系列微处理器,及可编程外围接口芯片,提供了高效率的时序解决方案,在这种有独创性的结构下,仍然使用低价位的51系列的微处理器,其数据传输速度可以达到56MB/s,可以提供USB2.0的最大带宽。因此,本系统的CPU控制和USB2.0接口芯片选择了上述芯片。图像传感器芯片(OV9650)工作在24MHZ频率下,在 CY7C68013內部程序控制下,通过CY7C68013的FIFO缓冲区以及USB电缆线传送到PC机上。

二、图像采集系统的实现

(一)硬件系统实现原理

硬件系统的连接原理,图像采集处理芯片用 OV9650,时钟频率为24MHz,像素时钟为24MHz;CPU控制和USB2.0接口芯片用CY7C68013,时钟频率为24MHz, 通过对CY7C68013内部的CPUCS寄存器进行修改,使其工作在24MHz方式下。将OV9650的像素时钟PCLK接到CY7C68013的IFCLK上; OV9650的HREF、VSYNC分别接到CY7C68013的RDY0、RDY1上;将OV9650的VSYNC分别接到CY7C68013的INT0上。将CY7C68013的PA1、PA2接在OV9650的SCCB的接口上。因为OV9650芯片的控制接口采用SCCB协议,与I2C相似,但却有些小的差别,所以用PA1和PA2两个IO口来模拟SCCB BUS时序,完成对图像芯片的初始化、显示窗口大小、数据格式、显示帧数等工作。

(二)固件程序设计

从程序到USB2.0芯片初始化到初始化图像传感器OV9650到开启中断判定有无中断,如中断及转入中断处理程序如无中断再重新判定。

固件程序:

(1) USB2.0芯片的初始化程序,通过对CPUCS 寄存器进行设定,工作在频率24MHz下,对USBCS寄存器设定,使其USB内核工作在 USB2.0方式下,同时通过对IFCONFIG寄存器设定,使其工作在通用编程接口方式下,控制端点0用来传输用户命令,图像传感器的初始化程序,通过对图像芯片进行初始化、显示窗口大小、数据格式、显示帧数等参数。

(2) 通用编程接口程序,利用GPIF Designer工具软件设计,然后导出GPIF接口程序。

(3) USB2.0批量传输程序设计,本段程序主要完成USB2.0的批量传输功能,利用批量传输和中断方法完成大批量图像数据的实时传输。

(三)系统软件的设计

1.USB2.0驱动与接口程序

利用通用驱动程序源码,在此基础上进行修改然后在Win2000的DDK下重新编译,再利用VC++6.0对驱动程序的操作函数进行封装,这样应用程序的可以像调用其他的函数一样去调用函数来完成USB接口的初始化、读取整帧图像、CMOS寄存器设置等等。

系统程序主要有以下几个模块组成:

(1) USB2.0初始化模块

首先将图像采集的硬件设备通过USB电缆连接到PC上,然后利用写好的函数探测USB2.0设备,进而初始化各种变量,分配内存。

(2) 图像传感器器设置模块

通过USB2.0设备的端点0对图像芯片的窗口大小、数据格式、显示帧数等进行初始化。

(3) 数字图像采集模块

利用USB的批量传输技术和终端技术实现图像数据的实时采集,然后可以将采集到的图像进行处理和显示。

(4) 数字图像显示模块

利用VC6.0技术实现图像实时显示。

(5) 图像检测处理模块

通过网络下载开放源代码的机器视觉库OpenCV,利用其中的图像处理函数实现元器件的外径测量,详细描述参考图像处理与检测部分。

(6) 数据存储模块

通过运用各种算法对图象数据进行处理运算, 计算出待检测元器件的外径参数, 最后与预置的标准尺寸相比较判断其是否合格,然后将检测结果计算机存储到数据库系统,并自动统计生成报表。

三、图像处理与检测

开放源代码的计算机视觉类库,主要包括以下部分

(1) CXCORE 定义基本的数据结构和操作函数;

(2) CV包含了几乎所有涉及到的图像处理函数;

(3) HighGUI包括图像显示、保存部分。

四、结论

通过系统调试实验,利用USB2.0图像采集系统可以实时地获取图像数据,采集速率为1~12帧/秒,基本可以满足实时检测需要,然后利用Intel的开放源代码的机器视觉库,可以对采集到的图像进行实时地处理,然后将处理结果存入检测数据库。

此系统还需进一步改进,如图像处理方面的进一步应用、提高对高速运动物体的检测性能等等。

参考文献

[1]《图像处理、分析与机器视觉》兴军亮译 清华大学出版社 2016年06月

[2]《计算机视觉特征提取与图像处理》艾海舟译 电子工业出版社 2014年11月

[3]《USB 2.0设备的设计与开发》 边海龙,贾少华 人民邮电出版社2011年10月endprint

猜你喜欢

数字图像寄存器图像处理
“课程思政”视域下职业学校《图像处理》课程教学改革实践
构建《Photoshop图像处理》课程思政实践教学路径的探索
基于图像处理与卷积神经网络的零件识别
飞思卡尔单片机脉宽调制模块用法研究
移位寄存器及算术运算应用
基于新一代信息技术的Photoshop图像处理课程开发与建设
数字电路环境下汽车控制电路信号设计
数字图像时代应用型本科院校美术学专业转型研究
一种对矢量地图的理论研究
《数字图像处理》课程的驱动教学实践