Bonjour,

J'essaye de convertir une image couleur (IplImage) en une matrice (CvMat)

Voici le morceaux de code:
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);
img est un objet de IplImage, c'est l'image que je récupère directement de la caméra.
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 3738

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.
J'essaye de récupéré une image 8-bit que je pourrais utiliser dans la fonction cvFindContours.

Avez-vous une idée ?

Merci d'avance.