欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-14 09:02:18
...

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


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

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

  1. 相机通过网线连接到电脑网口
  2. 安装相机软件安装包,里面包含相机驱动和CKCam等软件
  3. 使用CKCam客户端软件打开相机
    使用opencv直接打开云钥GigE网络工业相机
  4. 通过配置对话框按开发要求调节图像参数
    使用opencv直接打开云钥GigE网络工业相机
  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_world347d.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!

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