OpenCV C++ et cvSmooth
Quelqu'un sait ce que pourrait être le problème:
cvSmooth(origImage, grayImage1, CV_BLUR,3);
J'ai reçu le message d'erreur:
error: cannot convert `cv::Mat' to `const CvArr*' for argument `1' to `void
cvSmooth(const CvArr*, CvArr*, int, int, int, double, double)'
Si j'utilise:
cvtColor(origImage, grayImage, CV_BGR2GRAY);
Tout a bien fonctionné. la capture est de l'ordinateur portable appareil photo(en temps réel).
- Ce que vous en pensez? Avec cvtColor tous les beaux travaux. origImage est de couleur en temps réel "image" de l'appareil photo...
- Donc vous pensez que j'ai besoin d'image, pas de vidéo?
Vous devez vous connecter pour publier un commentaire.
cv::Mat
est une nouvelle structure à partir de la version C++ de OpenCV.cvSmooth()
est de la vieille C API. Ne pas mélanger le C de l'interface avec le C++!Je vais vous suggérer de prendre un moment pour lire la introduction.
Aussi, si vous cochez
opencv/modules/imgproc/src/smooth.cpp
vous verrez quecv::boxFilter()
est l'équivalent pourcvSmooth(CV_BLUR)
sur la nouvelle interface C++.cv::boxFilter()
.Être prudent de ne pas mélanger le OpenCV 1.x API (CvArr) avec les 2.x API (cv::Mat).
Je suppose que vous avez essayé un exemple de quelque part.