findChessboardCorners не работает - PullRequest
0 голосов
/ 19 января 2020

Я использую findChessboardCorners в Opencv, используя python, и с более чем 50 выборками ни один не был успешно обнаружен. Пример: FailedChessboardSample1 FailedchessboardSample2 Я делаю это для калибровки камеры.

код:

import cv2
import glob
import numpy as np

images = glob.glob('Chessboards/*.jpg')
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)

for fname in images:
    img = cv2.imread(fname)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    ret, corners = cv2.findChessboardCorners(gray, (7, 6),None)
    cv2.imshow("img", gray)
    cv2.waitKey(100)
    print(ret)
    if ret == True:
        corners2 = cv2.cornerSubPix(gray,corners,(11,11),(-1,-1),criteria)
        img = cv2.drawChessboardCorners(img,(7,6), corners2,ret)
        cv2.imshow(fname, img)
        cv2.waitKey()


cv2.destroyAllWindows()
...