USB工业摄像头设计之上位机

在工业相机中对摄像头要求较高,且采集的图像数据要求是源数据,未经过任何处理。

为了兼容xp、win7(32bit 64bit)

程序采用VS2008  MFC编制,参考网上一些应用。

CYUSB驱动与CYAPI开发包
以前68013上位机程序的编写过程中,应用程序端通过调用DeviceIoControl() API或CREATEPIPE() API与驱动进行交互,继而读写控制硬件设备,在新的68013A的驱动中采用了两种新的调用方法:
第一种是继续使用DeviceIoControl()函数读写,不同的是,IOCTL控制字和老驱动完全不同,具体定义参考CYUSB.PDF。用户可以通过这些底层API完成操作。
第二种是使用CYPRESS提供的面对对象的类,一共有9个类,调用这些类的方法就可以和硬件打交道。这些类是对第一种方法的封装,使用起来非常简便。用户可以根据需要选择这两种方法或混合使用,使用时需要加上头文件CyAPI.h和cyioctl.h,另外在项目中还要引用CyAPI.lib。

http://www.cypress.com/?rID=34870

需要在头文件中包含

#include "CyUsb.h"

#pragma comment (lib, "CyUsb.lib")

即可使用其接口。

 

摄像头型号不同,分辨率不同

需要在头文件中定义相应尺寸以便更换摄像头时,修改方便

#define BMP_width 1280 //640*480 1280
#define BMP_height 1024 //1024 1536

主要影响:

1、m_pDcDisplay->BitBlt 显示

2、CDataCapture

3、CDataProcess

 

主要功能;

从usb采集图像数据,图像数据按照每行同步传输,解析到一图像进行显示,

 

实测:

电脑硬件:

T420i 4G内存 WIN xp  32bit

1280*1024分辨率 帧率实测 25fps-27fps

640*480分辨率 帧率实测 82fps-85fps

参考板卡:

http://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-2707874652.25.cplWbC&id=44929449383

 

posted on 2015-04-19 15:44  层层惊涛  阅读(2198)  评论(1编辑  收藏  举报