使用opencv直接打開雲鑰GigE網絡工業相機
一直以來,使用opencv打開網絡工業相機獲取圖像是一個麻煩的事情,一般的做法是對接工業相機廠商提供的SDK庫,使用其中API函數。但是SDK庫中基本上都有上百個函數,需要詳細閱讀SDK的API幫助文檔,或者尋求工業相機廠商的幫助,這是一個耗時的過程。如果只是想簡單的通過相機獲取圖片,不需要特殊的功能,像打開UVC USB camera那樣簡單的幾行代碼就能搞定將是一件很幸福的事情。
使用雲鑰科技的GigE網絡工業相機可以就可以有做到。按以下步驟即可:
- 相機通過網線連接到電腦網口
- 安裝相機軟件安裝包,裏面包含相機驅動和CKCam等軟件
- 使用CKCam客戶端軟件打開相機
- 通過配置對話框按開發要求調節圖像參數
- 關閉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!
歡迎大家使用雲鑰工業相機,支持各種方案定製。