projects / spot-the-difference · experiment · v0.1 · published 2023-02-02 ⌘← prev · ⌘→ next
v0.1 · ● experiment · 2023 · #python#automation

spot-the-difference/

틀린그림찾기를 컴퓨터 비전으로 자동화하는 토이 프로젝트.

spot-the-difference
fig. 01 — 원본 이미지
  • 역할 개발 · 설계 · 기획 (100%)
  • 기간 2023.02.01 — 2023.02.02 (이틀)
  • 스택 Python · OpenCV · PyAutoGUI · Selenium
  • 타입 토이 · 자동화
  • 데모 YouTube
§ 00 TL;DR

두 이미지를 받아 OpenCV로 차이 영역을 검출하고, PyAutoGUI / Selenium으로 화면에서 해당 위치를 자동 클릭하는 토이 자동화입니다.

이틀짜리 토이 프로젝트지만 컴퓨터 비전 + 데스크톱 자동화 + 브라우저 자동화의 세 가지 도구가 어떻게 함께 동작하는지 빠르게 체득할 수 있었습니다.

§ — demo

// 실제 동작 영상

fig. 02 — 자동 클릭 동작 영상
§ 02 해결

// 4개월 동안 만든 것

fig. 03 — 비교 대상 이미지
fig. 04 — 차이를 찾을 두 번째 이미지
fig. 05 — OpenCV 차이 검출 결과
§ 03 주요 결정

// $ git log --format='%h %s' --pretty | head

  1. /01
    added

    OpenCV로 차이 검출

    두 이미지를 정렬하고 픽셀 차이 마스크를 만들어 의미 있는 영역만 추려냄.

  2. /02
    added

    PyAutoGUI + Selenium 자동 클릭

    검출된 좌표를 실제 화면 좌표로 변환해 PyAutoGUI로 클릭. 브라우저 게임이면 Selenium으로 DOM 좌표 활용.

§ 05 회고

// $ git log --author='나' --grep='배운 것'

잘한 것

  • 누구보다 빠르게 틀린그림을 찾을 수 있게 됨.
  • 자동화 도구들의 조합에 대한 이해도가 한 단계 올라감 — 이후 더 큰 자동화 프로젝트(SocFlow 등)의 디딤돌.

다시 한다면

open issues