使用opencv直接打开云钥GigE网络工业相机

使用opencv直接打开云钥GigE网络工业相机


一直以来,使用opencv打开网络工业相机获取图像是一个麻烦的事情,一般的做法是对接工业相机厂商提供的SDK库,使用其中API函数。但是SDK库中基本上都有上百个函数,需要详细阅读SDK的API帮助文档,或者寻求工业相机厂商的帮助,这是一个耗时的过程。如果只是想简单的通过相机获取图片,不需要特殊的功能,像打开UVC USB camera那样简单的几行代码就能搞定将是一件很幸福的事情。

使用云钥科技的GigE网络工业相机可以就可以有做到。按以下步骤即可:

  1. 相机通过网线连接到电脑网口
  2. 安装相机软件安装包,里面包含相机驱动和CKCam等软件
  3. 使用CKCam客户端软件打开相机
    使用opencv直接打开云钥GigE网络工业相机_第1张图片
  4. 通过配置对话框按开发要求调节图像参数
    使用opencv直接打开云钥GigE网络工业相机_第2张图片
  5. 关闭CKCam,调节好的参数会保存到电脑

一切准备就绪,开始写代码了。下面是使用visual studio 2015写的代码。

// OpenCameraByOpencv.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "opencv2/opencv.hpp"

#ifdef _DEBUG
#pragma comment(lib, "opencv_world347d.lib")
#else
#pragma comment(lib, "opencv_world347.lib")
#endif

using namespace cv;

int main()
{
	//打开相机
	VideoCapture cap;
	bool isOpend = cap.open(0, cv::CAP_DSHOW);
	if (isOpend)
		printf("open camera successfully\n");
	else
	{
		printf("open camera failed\n");
		return -1;
	}

	namedWindow("GigE Image");
	while (1)
	{
		Mat img;
		bool isRead = cap.read(img);    //读取相机图像
		if(isRead)
			imshow("GigE Image", img);  //实时显示相机图像
		int key = waitKey(1);
		if (key == 27)
			break;
	}
	destroyWindow("GigE Image");
	//关闭相机
	cap.release();

    return 0;
}

这段代码跟使用普通的USB相机没有区别。so easy!

欢迎大家使用云钥工业相机,支持各种方案定制。

你可能感兴趣的:(工业相机)