【发布时间】:2018-01-31 11:59:28
【问题描述】:
这是我的代码。无法在 opencv3.3 中播放视频文件。我是 OpenCV 的初学者。请帮帮我。
int main(void) {
cv::VideoCapture capVideo;
cv::Mat imgFrame;
capVideo.open("C:\\Users\\sbv\\Documents\\MyVideo.avi");
if (!capVideo.isOpened()) {
std::cout << "\nerror reading video file" << std::endl << std::endl;
_getch();
return(0);
}
if (capVideo.get(CV_CAP_PROP_FRAME_COUNT) < 1) {
std::cout << "\nerror: video file must have at least one frame";
_getch();
return(0);
}
capVideo.read(imgFrame);
char chCheckForEscKey = 0;
while (capVideo.isOpened() && chCheckForEscKey != 27) {
cv::imshow("imgFrame", imgFrame);
if ((capVideo.get(CV_CAP_PROP_POS_FRAMES) + 1) < capVideo.get(CV_CAP_PROP_FRAME_COUNT))
{
capVideo.read(imgFrame);
}
else
{
std::cout << "end of video\n";
break;
}
chCheckForEscKey = cv::waitKey(1);
}
if (chCheckForEscKey != 27) {
cv::waitKey(0);
}
return(0);
}
错误来了:
读取视频文件时出错。
请解决这个问题。
【问题讨论】:
-
显然错误在这一行——capVideo.open("C:\\Users\\sbv\\Documents\\MyVideo.avi");
-
我找不到的错误是什么。我是 Opencv 的新手。用我需要替换那条线的东西。 @I.Newton
-
请确保文件
opencv_ffmpeg330.dll存在于当前目录或系统路径中。