OpenCV + GigE Vision相机+ c ++

时间:2016-06-21 12:23:09

标签: c++ opencv camera mako gige-sdk

几天后,我在相机Mako上工作(使用以太网(GigE))。我需要恢复视频流,将其集成到软件公司。 我尝试在代码:: 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" );
}

Img_error

1 个答案:

答案 0 :(得分:1)

我使用堡盟的HX系列GigE相机和堡盟的GAPI SDK完成了这项工作。 GAPI基于genIcam,适用于任何符合genIcam标准的摄像机(Allied Vision的Mako符合genIcam标准)。

我提供了一个全面的解释,说明我是如何使用openCV,Visual Studios C ++和堡盟的GAPI SDK HERE完成的。

总之,你需要

  1. 安装openCV for C ++
  2. 安装GAPI SDK
  3. 按照堡盟程序员指南中的说明配置您的C ++项目
  4. 使用堡盟的005_PixelTransformation示例代码并添加openCV窗口以查看捕获的帧
  5. 您可以参考程序员指南和其他示例代码,了解更改相机参数(ROI,曝光时间,增益等)等步骤。

    注意:我就是这样做的。这不是唯一的方法。 Basler制作了类似的API,他们也提供了文档和示例,所以你可以试试。 Allied Vision的PV_API现在是传统软件。他们的新SDK是Vimba 2.0。