Bonjour,
Je suis de base programmeur java/j2e et j'ai un besoin perso pour du traitement d'image, je pense que les apis mises à dispositions par opencv en c++ me conviennent parfaitement. Cependant je rame à mort pour pouvoir commencer à bosser sur des exemples simples qui compilent et se lancent.
Je suis sous Windows, j'ai télécharger qt 5.1 32bits avec mingw 4.8 et opencv 2.4.6.
Mon problème est simple je réalise une vidéo avec ma cam, je l'enregistre j'essaye de l'ouvrir avec openCV (code ci-dessous).
Le problème est que je plante lorsque j'essaye de lire les frames (capture.read(frame) {). Je précise que j'arrive à lire d'autres videos (j'ai testé avec celle présente dans Windows : C:\Users\Public\Videos\Sample Videos).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> int main() { cv::VideoCapture capture("C:/Temp/OpenCV/testrate.avi"); //cv::VideoCapture capture(0); //check if video successfully open if (!capture.isOpened()) { return 1; } //get frame rate double rate = capture.get(CV_CAP_PROP_FPS); bool stop(false); cv::Mat frame; cv::namedWindow("Extracted Frame"); int delay = 1000/rate; //delay between each frame => video frame rate while (!stop) { if (!capture.read(frame)) { break; } cv::imshow("Extracted Frame", frame); if (cv::waitKey(delay) >= 0) { stop = true; } } //close video capture.release(); }
J'ai pensé à un problème de codec (bien que j'arrive à lire ma video avec WMP), j'ai donc installer K-Lite Code Pack mais le problème persiste.
J'ai du mal à comprendre d'ou vient le soucis, avez-vous une idée?![]()
Partager