Bonjour,
J'essaye de convertir une image couleur (IplImage) en une matrice (CvMat)
Voici le morceaux de code:
img est un objet de IplImage, c'est l'image que je récupère directement de la caméra.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 opencv_imgproc.cvCvtColor(img, img, opencv_imgproc.CV_RGB2GRAY); CvMat mat = opencv_core.cvCreateMat(img.width(), img.height(), CV_8SC1); opencv_core.cvZero(mat); opencv_core.cvConvert(mat, img);
Je passe l'image en GRAY pour avoir un seul dimension comme le veut la fonction opencv_imgproc.cvFindContours et je la place dans une matrice car j'ai besoin qu'elle soit en CV_8SC1.
Lorsque je test le programme j'ai cette erreur et je ne l'a comprend pas du tout:
OpenCV Error: Assertion failed (dst.data == dst0.data) in unknown function, file ..\..\..\src\opencv\modules\imgproc\src\color.cpp, line 3738J'essaye de récupéré une image 8-bit que je pourrais utiliser dans la fonction cvFindContours.
FindContours
Finds contours in binary image
int cvFindContours( CvArr* img, CvMemStorage* storage, CvSeq** firstContour,
int headerSize=sizeof(CvContour), CvContourRetrievalMode mode=CV_RETR_LIST,
CvChainApproxMethod method=CV_CHAIN_APPROX_SIMPLE );
image
The source 8-bit single channel image. Non-zero pixels are treated as 1's, zero pixels remain 0's - that is image treated as binary. To get such a binary image from grayscale, one may use cvThreshold, cvAdaptiveThreshold or cvCanny. The function modifies the source image content.
Avez-vous une idée ?
Merci d'avance.
Partager