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, तो यह देखने में आपकी मदद कर सकता है कि क्या हो रहा है।