Уже несколько дней я работаю над камерой Мако (использую Ethernet (GigE)). Мне нужно вернуть поток видео, чтобы интегрировать его в программное обеспечение.
Я пытаюсь использовать библиотеку OpenCV для code :: blocks, но у меня всегда возникает ошибка, говорящая о том, что ей не удается увидеть поток видео.
Кто-нибудь может мне помочь? Спасибо большое за вашу помощь 🙂
#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" );
}
Я сделал это с помощью камеры GigE серии HX от Baumer и GAPI SDK Baumer. GAPI основан на genIcam и должен работать для любой камеры, совместимой с genIcam (Mako от Allied Vision совместим с genIcam).
Я дал исчерпывающее объяснение того, как я это сделал, используя openCV, Visual Studios C ++ и GAPI SDK Баумера. ВОТ.
В итоге вам нужно
Вы можете обратиться к руководству программиста и другим примерным кодам для шагов, таких как изменение параметров камеры (ROI, время экспозиции, усиление и т. Д.).
ПРИМЕЧАНИЕ. Вот как я это сделал. Это не единственный способ сделать это. Basler создает похожий API, а также предоставляет документацию и примеры, так что вы можете попробовать это. PV_API Allied Vision теперь является устаревшим программным обеспечением. Их новый SDK — Vimba 2.0.
Других решений пока нет …