[問題] 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