오늘은 너무 피곤해서, 많이 하지는 않았다.
지난번에 contour 검출 이후, 적당한 area 크기를 갖는 contour들을 image에 그리도록 하였다.
contours, hierarchy = cv2.findContours(openedINV.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
mask = np.zeros(image.shape, dtype=np.uint8)
for contour in contours:
area = cv2.contourArea(contour)
'''
권장 사이즈를 측정할 필요 있다. 메이플 스토리의 창모드의 pixel 크기는 유동적으로 조정할 수 있으니,
여기서 적당한 보드판의 크기를 유추하여 contour를 검출하면 된다.
'''
if 100000 < area :
x,y,w,h = cv2.boundingRect(contour)
cv2.rectangle(image, (x,y),(x+w, y+h), (0,255,0), 3)
# cv2.drawContours(image, [contour], 0, (0,255,0), 3)
cv2.rectangle(mask,(x,y),(x+w, y+h), (255,255,255), -1)
print(area)
mask = cv2.bitwise_and(mask, original)
area를 출력하며 적합한 값을 '일단은' 찾았지만, 실제 미니게임이 시작되고 난 이후에 적절하게 크기를 조절해야 한다고 생각한다. 지금은 아무곳에서나 이미지를 긁어왔기 때문에 크기가 제각각이다.
이후 mask를 이용해서 board 판을 검출한다.
다음은 해당 결과이다.
'좌충우돌개발일지' 카테고리의 다른 글
HumanML3D Dataset 준비하기 (3) | 2024.11.13 |
---|---|
Welcome to Hogwarts! (3) | 2024.09.29 |
이미지 전처리 (0) | 2023.01.30 |