FindChessboardCorners OpenCV işlevinin dahili çalışması nelerdir ?
FindChessboardCorners OpenCV işlevinin dahili çalışması nelerdir ?
Yanıtlar:
OpenCV kaynak kodu mevcuttur, bu yüzden sadece kod üzerinden biraz zaman ayırmanızı tavsiye ederim. Bu özel işlevin ilgili dosyası:
Ona ayrıntılı olarak bakmadım, ama öyle görünüyor
CV_IMPL
int cvFindChessboardCorners( const void* arr, CvSize pattern_size,
CvPoint2D32f* out_corners, int* out_corner_count,
int flags )
bu yöntemin ana uygulamasıdır. Burada onlar
cvCheckChessboardBir satranç tahtasının resimde olup olmadığını belirlemek için kullanınicvGenerateQuadsKareleri bulmak için kullanın . Daha sonra kod denetimler seti bu yoğunlaşmasına rağmen gitmek gibi görünüyor quadsdahil satranç tahtası köşelerine kadar icvFindConnectedQuads, icvCleanFoundConnectedQuadsekstra köşeleri, kaldırmak icvCheckQuadGroupve icvCheckBoardMonotony.
Bu işlevlerin tümü haricinde aynı dosyada uygulanan cvCheckChessboardedildiği olup calib3d / src / checkchessboard.cpp . Kodu ne kadar iyi anlamak istediğinize bağlı olarak #define DEBUG_CHESSBOARD, neler olup bittiğini görmenize yardımcı olabilecek bir dizi hata ayıklama satırı var gibi görünüyor .