Bonjour à tous,
Après m'être très souvent aidée de ce forum sans intervenir, je viens aujourd'hui vous demander de l'aide!
Voila, j'applique un détecteur de Harris à une image (image dans un format propre à ma boite, que j'ai donc transformée en cv::mat)
Une fois le CornerHarris appliqué, je ne peux pas voir mon image... j'ai une fenetre grise qui devient noire après 1 sec (du au waitKey(1))
Juste pour info, lorsque je fais un cv::imshow de mon image imageCvBRG ou imageCvGray, cela marche. Donc c'est vraiment le fait d'appliquer cornerHarris qui fait que ça ne fonctionne plus...
Voila le code :
Si quelqu'un peut me dépanner ce serait vraiment sympa!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void MaFonction::harrisDetectorByCv(const CRGBAFloatImage& i_image){ cv::Mat imageCvBRG= i_image.toCV(); cv::Mat imageCvGray(imageCvBRG.rows,imageCvBRG.cols,1); cv::cvtColor(imageCvBRG,imageCvGray,CV_RGB2GRAY) ; cv::Mat harrisImage; cv::cornerHarris(imageCvGray,harrisImage,7,3,0.04,cv::BORDER_DEFAULT); cv::waitKey(1); cv::imshow("harris", harrisImage);
Merci d'avance.
[EDIT] Donc le problème ne vient pas de l'affichage, mais vraiment de l'image finale, qui n'est fait que de valeurs très proches de 0 (en 10^-8 par exemple)
Partager