Я создал проект один раз, и он работал правильно, после переустановки операционной системы я настроил среду и все компоненты, и вдруг я не получаю никакого вывода вообще. Моя программа для тестирования проста:imshow in OpenCv показывает черный экран
#include <cstdio>
#include "opencv2/opencv.hpp"
#include <iostream>
#include <sstream>
using namespace cv;
using namespace std;
int main(int, char**)
{
VideoCapture cap("videofile.avi");
if (!cap.isOpened()) // check if we succeeded
return -1;
namedWindow("Frame", 1);
for (;;)
{
Mat frame;
if (!cap.read(frame)) {
cerr << "Unable to read next frame." << endl;
cerr << "Exiting..." << endl;
exit(EXIT_FAILURE);
}
imshow("Frame", frame);
if (waitKey(30) >= 0) break;
}
return 0;
}
Я установил все необходимые кодеки и обновил драйверы видеокарты. Все еще получаю тот же черный экран.
Результат выглядит следующим образом:
EDIT:
Проблема, как представляется, только при воспроизведении видео с .avi AVC кодек
Код выглядит нормально. Попробуйте использовать 'VideoCapture cap (0);', который будет использовать камеру по умолчанию. Если он работает, то у вас есть проблема с кодеком – Miki
@Miki Он работает с камерой. Мне придется снова проверить мои кодеки. Я установил кодек K-Lite Mega, хотя – Croolman
у вас есть opencv_ffmpeg dll в вашей переменной PATH или в двоичной директории? – Micka