Как сделать автоматический точечный соединитель в python - PullRequest
1 голос
/ 19 октября 2019

Я пытаюсь создать приложение на python, которое автоматически соединяет точки в игре "подключи точку". (https://ibb.co/pvfC8JC) - приложение будет соединять точку 1 с точкой 2 с точкой 3 и т. Д. До тех пор, пока не будет завершена вся картина. Однако у меня возникло много проблем с распознаванием точек и чисел.

Мой подход заключается в том, чтобы найти номера и точки на изображении, связать каждую точку с числом, а затем соединить точки.

Я пытался использовать pytesseract, но у него были значительные проблемы с распознаванием чисели дифференцируя точки и числа.

Какой подход я должен использовать при решении этой проблемы?

Я использовал следующий код:

from PIL import Image
import pytesseract
from pytesseract import Output
import cv2

img = cv2.imread('data/2.png')
ih, iw, _ = img.shape

data = pytesseract.image_to_data(
    img,
    output_type=Output.DICT,
)

print(data)
n = len(data['level'])

for i in range(n):
    x, y, w, h = (
        data['left'][i],
        data['top'][i],
        data['width'][i],
        data['height'][i],
    )
    cv2.rectangle(
        img,
        (x, y, w, h),
        (0, 255, 0),
        2,
    )

cv2.imwrite('ass.png', img)

, который привел к следующему результату: результат

...