工作环境比较恶劣并且有较多干扰源的环境做视觉识别一般都使用工业相机,大恒水晶相机是比较常用的一种。比起来进口相机,虽然用起来会更麻烦,但好在价格便宜,各项指标也不低。
大恒水晶相机是提供SDK的方式跟OPENCV类的系统做集成,还做不到像很多进口相机一样直接就有了系统级的驱动,这方面的资料还是不少的,下面是在网上摘的一个例子:(来源)
// test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "GxIAPI.h"
#include "DxImageProc.h"
#include
#include
#include
#include
using namespace std;
using namespace cv;
GX_DEV_HANDLE m_hDevice; ///< 设备句柄
BYTE *m_pBufferRaw; ///< 原始图像数据
BYTE *m_pBufferRGB; ///< RGB图像数据,用于显示和保存bmp图像
int64_t m_nImageHeight; ///< 原始图像高
int64_t m_nImageWidth; ///< 原始图像宽
int64_t m_nPayLoadSize;
int64_t m_nPixelColorFilter; ///< Bayer格式
Mat test;
//图像回调处理函数
static void GX_STDC OnFrameCallbackFun(GX_FRAME_CALLBACK_PARAM* pFrame)
{
//PrepareForShowImg();
if (pFrame->status == 0)
{
//对图像进行某些操作
/*memcpy(m_pBufferRaw, pFrame->pImgBuf, pFrame->nImgSize);
// 黑白相机需要翻转数据后显示
for (int i = 0; i
memcpy(m_pImageBuffer + i*m_nImageWidth,