Bonjour à tous,
J'essaie d'utiliser cvNorm avec un mask de 0 et de 1 afin de calculer la norme en ne prenant en compte que certains coefficients mais à l'éxécution, j'ai l'erreur suivante :
OpenCV ERROR: Bad argument ()
in function cvNorm, cxnorm.cpp(1334)
Terminating the application...
called from cvUnregisterType, cxpersistence.cpp(4933)
Je définis mon mask de la façon suivante :
où img l'image d'origine dont j'extrais des patchs sur lesquels je veux calculer ma norme.Code:
1
2
3
4
5
6
7
8
9
10 IplImage *mask = cvCreateImage(cvSize(10, 10), img->depth, img->nChannels); uchar *dat = (uchar *)mask->imageData; for(i=0;i<mask->height;i++){ for(j=0;j<mask->widthStep;j++){ for(k=0;k<mask->nChannels;k++){ dat[i*mask->widthStep +j*channels+k] =1; } } }
(j'ai aussi essayé avec un seul channel aussi et même erreur)
Le programme fonctionne parfaitement lorsque je mets 0 à la place de mon masque lorsque j'appelle la fonction cvNorm.
Le masque doit-il être défini différement ou alors est-ce que l'argument mask n'a rien à voir avec ce que je veux faire ?
Merci.