На самом деле я столкнулся со следующими проблемами:
[*]Не все углы обнаружены (см. изображение прилагается).
[*]Точки, обозначающие углы, не такие, как я ожидал: я хочу, чтобы эти точки были круглыми, по одной точке на каждый обнаруженный угол.
< /ul>
Мой код можно найти ниже.
import cv2 as cv
import numpy as np
file = chess.bmp
img = cv.imread(file)
img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
img_gray = np.float32(img_gray)
dst = cv.cornerHarris(img_gray, blockSize=2, ksize=3, k=0.02)
dst = cv.dilate(dst, None)
img[dst > 0.01 * dst.max()] = [0, 0, 255]
cv.imshow("Corner detection", img)
cv.waitKey()
cv.destroyAllWindows()
Подробнее здесь: https://stackoverflow.com/questions/793 ... chessboard