spot-the-difference/
틀린그림찾기를 컴퓨터 비전으로 자동화하는 토이 프로젝트.
fig. 01 — 원본 이미지
- 역할 개발 · 설계 · 기획 (100%)
- 기간 2023.02.01 — 2023.02.02 (이틀)
- 스택 Python · OpenCV · PyAutoGUI · Selenium
- 타입 토이 · 자동화
- 데모 YouTube
§ 00 TL;DR
두 이미지를 받아 OpenCV로 차이 영역을 검출하고, PyAutoGUI / Selenium으로 화면에서 해당 위치를 자동 클릭하는 토이 자동화입니다.
이틀짜리 토이 프로젝트지만 컴퓨터 비전 + 데스크톱 자동화 + 브라우저 자동화의 세 가지 도구가 어떻게 함께 동작하는지 빠르게 체득할 수 있었습니다.
§ — demo
// 실제 동작 영상
§ 02 해결
// 4개월 동안 만든 것
§ 03 주요 결정
// $ git log --format='%h %s' --pretty | head
- /01 added
OpenCV로 차이 검출
두 이미지를 정렬하고 픽셀 차이 마스크를 만들어 의미 있는 영역만 추려냄.
- /02 added
PyAutoGUI + Selenium 자동 클릭
검출된 좌표를 실제 화면 좌표로 변환해 PyAutoGUI로 클릭. 브라우저 게임이면 Selenium으로 DOM 좌표 활용.
§ 05 회고
// $ git log --author='나' --grep='배운 것'
잘한 것
- 누구보다 빠르게 틀린그림을 찾을 수 있게 됨.
- 자동화 도구들의 조합에 대한 이해도가 한 단계 올라감 — 이후 더 큰 자동화 프로젝트(SocFlow 등)의 디딤돌.