Apa fungsi internal dari fungsi OpenCV findChessboardCorners ?
Apa fungsi internal dari fungsi OpenCV findChessboardCorners ?
Jawaban:
Kode sumber OpenCV tersedia, jadi saya sarankan hanya mengambil sedikit waktu melalui kode. File yang relevan untuk fungsi khusus ini adalah:
Saya belum memeriksanya secara detail, tetapi sepertinya
CV_IMPL
int cvFindChessboardCorners( const void* arr, CvSize pattern_size,
CvPoint2D32f* out_corners, int* out_corner_count,
int flags )
adalah implementasi utama dari metode ini. Di sini mereka
cvCheckChessboarduntuk menentukan apakah papan catur ada di gambaricvGenerateQuadsuntuk menemukan kotak. Kode kemudian tampaknya pergi melalui serangkaian cek untuk memadatkan ini quadske sudut papan catur, termasuk icvFindConnectedQuads, icvCleanFoundConnectedQuadsuntuk menghapus sudut ekstra icvCheckQuadGroup,, dan icvCheckBoardMonotony.
Semua fungsi ini diimplementasikan dalam file yang sama, selain dari cvCheckChessboardyang ada di calib3d / src / checkchessboard.cpp . Tergantung seberapa baik Anda ingin memahami kode tersebut, tampaknya ada sejumlah baris debug, yang dapat dimasukkan jika Anda #define DEBUG_CHESSBOARD, yang dapat membantu Anda melihat apa yang terjadi.