우분투에서 opencv C++을 사용하여 avi 파일로 재생하려고하는데 출력이 없습니다. 내가 사용하는 코드는 표준 코드이며, avi 비디오를 재생하는 데 사용되지만 온라인 출력이없는 온라인에서 발견되었습니다. 그리고 예 비디오는 내 src 코드 폴더와 같은 디렉토리에 있습니다. 필자가 보는 유일한 것은 while 루프의 첫 번째 반복에서 프레임이 비어서 끊어지는 것입니다. 하지만 비디오가 vlc에서 작동하면서 왜 일어나는지 알 수 없습니다. 나는 지난 4 ~ 5 시간 동안 그 일에 매달 렸기 때문에 정말로 도움이 될 것입니다. #include "cv.h"// 기본 OpenCV 함수를 사용하기 위해 포함합니다. #include "highgui.h"// GUI 함수를 사용하려면 포함하십시오.OpenCV - AVI 파일 재생
int main(int argc, char** argv)
{
cvNamedWindow("Example3", CV_WINDOW_AUTOSIZE);
//CvCapture* capture = cvCreateFileCapture("20051210-w50s.flv");
CvCapture* capture = cvCreateFileCapture("tree.avi");
/* if(!capture)
{
std::cout <<"Video Not Opened\n";
return -1;
}*/
IplImage* frame = NULL;
while(1) {
frame = cvQueryFrame(capture);
//std::cout << "Inside loop\n";
if (!frame)
break;
cvShowImage("Example3", frame);
char c = cvWaitKey(33);
if (c == 27) break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("Example3");
std::cout << "Hello!";
return 0;
}
내 코드가 잘 작동합니다. – Haris
정말 ?? ffmpeg와 관련이있을 수 있을까요 ?? – ueg1990
ffmpeg가 있어야합니다. 시스템에 설치되어 있습니까? OpenCV를 설치할 때 설치 되었습니까? 왜 if (! capture) {} 블록을 주석 처리 했습니까? 동영상을 열 수 없다고하면 파일 이름이 잘못되었거나 ffmpeg가 설치되어 있지 않습니다. – JonesV