【OpenCV】ツムを判別する方法1

Uncategorized
197 words

ツムツムを自動化するために、スクリーンショットの中からツムを拾い出す処理を書いていきます。

と言っても OpenCVのハフ変換を使って、円検出をちょっとやっただけなんですけどね。

たまに、対象外になっちゃうツムが出てくるけどどうしようかな。悩ましい。

処理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import cv2
import numpy as np

img = cv2.imread('IMG_0941.png')
cimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

circles = cv2.HoughCircles(cimg, cv2.HOUGH_GRADIENT, 1.2, 30, param1=100, param2=40, minRadius=20, maxRadius=54)

circles = np.uint16(np.around(circles))

for i in circles[0, :]:
cv2.circle(img, (i[0], i[1]), i[2], (0, 255, 0), 2)
cv2.circle(img, (i[0], i[1]), 2, (0, 0, 255), 3)

cv2.imshow('detected circles', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

終わりに

あとは、繋げてタッチイベントを送ればいいと思います。