L'obtention d'opencv erreur en c++
Je vais essayer d'obtenir l'erreur de opencv! dire que j'ai de ce programme:
#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
int main (){
cv::Mat frame;
cv::VideoCapture cap(1); //I don't have a second videoinput device!
int key = 0;
while(key !=27){
cap >> frame;
cv::imshow("frame",frame);
key = cv::waitKey(10);
}
cap.release();
return 0;
}
lorsque j'exécute ce programme, j'obtiens dans la console ce message :
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in unknown functi
on, file ..\..\..\opencv\modules\highgui\src\window.cpp, line 261
Ma question est comment puis-je obtenir ce message et l'enregistrer dans une chaîne de caractères pour chaque erreur que je reçois!
et si il EST possible de s'échapper le programme crash!
merci d'avance!
OriginalL'auteur Engine | 2013-10-21
Vous devez vous connecter pour publier un commentaire.
Il utilise les exceptions C++. Voir ici dans la doc pour plus d'.
Un
CV_Assert
dans le OpenCV code est une macro qui appelle la fonction OpenCVerror
. Cette fonction peut être vu ici. Il sera toujours imprimer le texte d'erreur sur stderr, sauf si vous n'avez pas lecustomErrorCallback
ensemble. Vous le faire viacvRedirectError
, voir ici.Il suffit de retirer le
std::cout
? Vous pouvez le mettre dans un fichier à la place.non, il ne fonctionne pas ! la sortie se passe dans la cv::imshow() parce que le cadre est de pointage à la valeur NULL
Vous pouvez le faire via
cvRedirectError
. J'ai étendu ma réponse.eu merci encore
OriginalL'auteur Albert
Vous avez pour vérifier si OpenCV appels de fonction dans votre code est exécuté avec succès ou non. Ensuite, vous pouvez comprendre exactement le problème. Voici le code modifié.
OriginalL'auteur SRF