1 pièce(s) jointe(s)
Calibration d'une image 2D
Hello à tous,
Je suis dans la panade... J'essaie de mettre en place une calibration pour une caméra. J'ai d'abord utilisé un pattern "damier", mais ça s'est avéré peu concluant en raison d'un petit flou persistant sur mon image. J'ai donc décidé de passer avec une grille de point (plus robuste).
Malheureusement j'ai des problèmes avec la fonctions
Citation:
C++: bool findCirclesGrid(InputArray image, Size patternSize, OutputArray centers, int flags=CALIB_CB_SYMMETRIC_GRID, const Ptr<FeatureDetector>& blobDetector=new SimpleBlobDetector()
Cette fonction fait une exception... Visiblement quand elle release un tableau ou un objet (difficile de savoir quoi !).
Je me suis basé sur le code de la documentation:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
IplImage *distortedPattern, *undistPattern, *uncorrectedImg, *correctedImg;
distortedPattern = cvLoadImage("circle_77_2-1.tif", CV_LOAD_IMAGE_GRAYSCALE);
Mat imgMat = distortedPattern;
Size patternsize(7, 7);
vector<Point2f> pointCenters;
bool patternfound = findCirclesGrid(imgMat, patternsize, pointCenters); |
Je le fais sur les deux images jointes...
J'ai essayé de convertir les images de différentes manières, mais ca ne change rien !
J'ai essayé de changer le type des variables passées à la fonction (Mat pointCenters, etc.). Aucun résultat
J'ai essayé sur d'autres images.
J'ai essayé de mettre à jour la librairie OpenCV. rien non plus :calim2:
Toujours la même erreur à cet endroit :
Code:
1 2 3 4
| template<typename _Tp> inline void Ptr<_Tp>::delete_obj()
{
if( obj ) delete obj;
} |
Je vous remercie pour votre aide et espère que vous aurez une réponse ou une expérience à partager avec cette fonction opencv 2.4.0
A+
nico