[问题] open cv影片问题

楼主: hope2801 (sexydick)   2018-05-15 13:08:12
开发平台(Platform): (Ex: Win10, Linux, ...)
Win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
visual studio c++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
opencv
问题(Question):
影片播到5秒时,就发生未处理的例外状况
喂入的资料(Input):
一段mp4档的影片约6秒多
预期的正确结果(Expected Output):
错误结果(Wrong Output):
https://i.imgur.com/SpeZpJ3.jpg
https://i.imgur.com/ki7gDbM.jpg
https://i.imgur.com/2NVf0Nk.jpg
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
VideoCapture capture("27742.t.MP4");
while (1)
{
Mat frame;
capture >> frame;
imshow("cam", frame);
waitKey(30);
}
return 0;
}
补充说明(Supplement):
我想要解决那个例外状况
在网络上有看到有人有类似问题,可是他的解决方法是重新下载,但是我的open cv最近
才刚重新下载,不知道该不该再重载一次。
作者: Raymond0710 (雷门)   2018-05-15 19:50:00
可能影片播完了 判断frame empty就break
作者: Lipraxde (Lipraxde)   2018-05-15 21:33:00
waitKey(30); → waitKey(60);,这样你应该就可以播10秒了
楼主: hope2801 (sexydick)   2018-05-16 00:32:00
那想请问为什么会出现无法处理的例外状况呢
作者: Lipraxde (Lipraxde)   2018-05-16 00:35:00
不是无法处理,是你没有处理,你这段opencv的范例程式是哪来的?
楼主: hope2801 (sexydick)   2018-05-16 00:36:00
我自己打的我程式有打错吗?
作者: ThomasHuang (命贱如草)   2018-05-16 08:59:00
while (1)是无限循环,循环内又没有检查影片是否播完的机制,影片完毕后无法离开循环继续取得影像,因为没有影响可以取得引发例外
楼主: hope2801 (sexydick)   2018-05-19 12:35:00
原来是因为影片播完无法条出循环所以才导致例外状况感谢上面的各位教导小弟非常感谢

Links booklink

Contact Us: admin [ a t ] ucptt.com