Не могу получить живое видео с uEye и OpenCV

Я использую камеру IDS, и я хотел бы сделать некоторую обработку видео, но я не могу получить видео в прямом эфире. Я использую QtCreator (C++) с OpenCV и uEye, проблема в том, что я получаю ошибки сомов.

Вот мой код:

// camera initialization
int returnedStatus = is_InitCamera(&hCam, NULL);
cout<<"Status Init: "<<returnedStatus<<endl;

// set image size
int imgWidth=792, imgHeight=480;

char *capturedImage = NULL;
int memoryId = 0;

// allocate memory for image capturing
returnedStatus = is_AllocImageMem(hCam, imgWidth, imgHeight, 24, &capturedImage, &memoryId);
cout<<"Status AllocImage: "<<returnedStatus<<endl;

returnedStatus = is_SetImageMem(hCam, capturedImage, memoryId);
cout<<"Status SetImageMem: "<<returnedStatus<<endl;

for(;;){
    // capture frame
    is_CaptureVideo(hCam, IS_DONT_WAIT);
    IplImage* tmpImg;
    tmpImg = cvCreateImageHeader(cvSize(imgWidth, imgHeight), IPL_DEPTH_8U, 3);
   // tmpImg = cvCreateImage(cvSize(imgWidth,imgHeight),CV_8UC3,3);
    tmpImg->imageData = capturedImage;
    cv::Mat mat_img;//(imgWidth, imgHeight,3);
     // To IplImage
    IplImage ipltemp=mat_img;
    cvCopy(&ipltemp,tmpImg);
    // display captured image
    cv::imshow( "Display window", mat_img);
    cv::waitKey(0);

}

Ошибка:

terminate called after throwing an instance of 'cv::Exception' what(): OpenCV(4.0.1-dev) /home/sabrina/Téléchargements/opencv-master/modules/core/src/matrix_c.cpp:185: error: (-5:Bad argument) Unknown array type in function 'cvarrToMat'

Пожалуйста, помогите мне решить эту проблему.

Итак, я исправил первую проблему с этим кодом:

            if (is_CaptureVideo (hCam, IS_DONT_WAIT) == IS_SUCCESS) {
                is_RenderBitmap (hCam, memoryId, hnwd, IS_RENDER_FIT_TO_WINDOW);
            }
        }

        cv::Mat retmat(imgWidth, imgHeight,CV_8UC3,3);
cv::imshow("test", retmat); ```

`
But now, it gives me a black image, not a live video. PLEASE, help


1 ответ

Вам нужно установить данные для cv::Mat:

cv::Mat retmat(imgWidth, imgHeight, CV_8UC3, capturedImage);
Другие вопросы по тегам