Считывает пустое изображение с камеры OpenCV C++

Рейтинг: 1Ответов: 0Опубликовано: 12.04.2023

Всем привет.Мне нужно просто считывать кадры с видеокамеры и показывать их в окне. Ошибку выдает именно на проверки:

if (img.empty())
            {
                std::cout << "empty image" << std::endl;
                return 0;
            }

То есть считывается пустое изображение. Мой код:

#include <opencv2/opencv.hpp>
#include <iostream>
#include <iostream>
using namespace std;
cv::Mat frame;
int main(int ac, char** av) {
 
    
    std::cout << cv::getBuildInformation();
    cv::VideoCapture cap(0);
    
 
 
 
 
    if (!cap.isOpened())
    {
        std::cout << "Can't open the camera" << std::endl;
        return -1;
    }
 
 
    cv::Mat img;
 
    cout << "Started video..."<<endl;
    while (cap.isOpened())
    {
        try
        {
 
 
            cap >> img;
            
            if (img.empty())
            {
                std::cout << "empty image" << std::endl;
                return 0;
            }
 
            cv::imshow("camera img", img);
 
            if (cv::waitKey(25) == 27)
                break;
        }
        catch( cv::Exception& e )
        {
            const char* err_msg = e.what();
            std::cout << "exception caught: " << err_msg << std::endl;
        }
    }
 
    return 0;
}

Ответы

Ответов пока нет.