OpenCV समारोह की आंतरिक कार्यप्रणाली क्या हैं findChessboardCorners ?
OpenCV समारोह की आंतरिक कार्यप्रणाली क्या हैं findChessboardCorners ?
जवाबों:
OpenCV का स्रोत कोड उपलब्ध है, इसलिए मैं कोड के माध्यम से कुछ समय लेने की सलाह दूंगा। इस विशेष समारोह के लिए प्रासंगिक फ़ाइल है:
मैंने इसे विस्तार से नहीं देखा है, लेकिन यह ऐसा दिखता है
CV_IMPL
int cvFindChessboardCorners( const void* arr, CvSize pattern_size,
CvPoint2D32f* out_corners, int* out_corner_count,
int flags )
इस पद्धति का मुख्य कार्यान्वयन है। यहाँ वे में
cvCheckChessboard
यह निर्धारित करने के लिए उपयोग करें कि क्या एक बिसात छवि में हैicvGenerateQuads
वर्गों को खोजने के लिए उपयोग करें । कोड तब लगता है, हालांकि चेक का एक सेट इन quads
कोनों को समतल करने के लिए, सहित icvFindConnectedQuads
, icvCleanFoundConnectedQuads
अतिरिक्त कोनों को हटाने के लिए icvCheckQuadGroup
, और icvCheckBoardMonotony
।
इन कार्यों के सभी एक ही फाइल में लागू किया जाता है, के अलावा cvCheckChessboard
, जिसमें है calib3d / src / checkchessboard.cpp । इस बात पर निर्भर करता है कि आप कोड को कितनी अच्छी तरह समझना चाहते थे, वहाँ कई डिबगिंग लाइनें प्रतीत होती हैं, जिन्हें यदि आप शामिल कर सकते हैं #define DEBUG_CHESSBOARD
, तो यह देखने में आपकी मदद कर सकता है कि क्या हो रहा है।