几天以来,我开始研究 Mako 相机(使用以太网 (GigE))。我需要取回视频流以将其集成到软件公司中。
我尝试在 code::blocks 上使用 OpenCV 库,但总是出现错误,指出它无法看到视频流。
有人可以帮助我吗?非常感谢你的帮助 :)
#include <opencv2/imgproc/imgproc_c.h>
#include "opencv2/highgui/highgui.hpp"
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Press ESC to exit\n");
cvNamedWindow( "First Example of PVAPI Integrated", CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCreateCameraCapture( CV_CAP_PVAPI );
assert( capture != NULL );
IplImage* frame;
while(1)
{
frame = cvQueryFrame(capture);
if(!frame) break;
cvShowImage( "First Example of PVAPI Integrated", frame);
char c = cvWaitKey(2500);
if( c == 27) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( "First Example of PVAPI Integrated" );
}
图片错误 https://i.stack.imgur.com/NxshF.png
我使用 Baumer 的 HX 系列 GigE 相机和 Baumer 的 GAPI SDK 完成了这项工作。 GAPI 基于 genIcam,应适用于任何兼容 genIcam 的相机(Allied Vision 的 Mako 兼容 genIcam)。
我全面解释了如何使用 openCV、Visual Studios C++ 和 Baumer 的 GAPI SDK 完成此操作HERE https://stackoverflow.com/a/41369079/5156102.
总之你需要
- 安装 C++ 版 openCV
- 安装GAPI SDK
- 按照堡盟程序员指南中的指定配置您的 C++ 项目
- 使用 Baumer 的 005_PixelTransformation 示例代码并添加 openCV 窗口以查看捕获的帧
您可以参考程序员指南和其他示例代码,了解更改相机参数(ROI、曝光时间、增益等)等步骤。
注意:我就是这样做的。这不是唯一的方法。 Basler 制作了类似的 API,他们也提供了文档和示例,所以你可以尝试一下。 Allied Vision 的 PV_API 现在是旧软件。他们的新 SDK 是 Vimba 2.0。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)