R&E 3

OpenCV image를 grid-based tiles로 변환하기

이전 글 : OpenCV-python를 이용하여 Unrailed! 윈도우 창 캡쳐하기 https://minseob.tistory.com/7 OpenCV를 이용하여 게임 화면을 캡쳐한 다음에는 이 화면을 에이전트가 맵을 파악할 수 있도록 grid-based tiles로 변환해주는 작업이 필요하다. 그전에 이전 글에서 캡쳐한 Unrailed! 윈도우 창에서 물체를 인식할 수 있도록 변환해주는 작업이 필요하다. cut_image함수로 화면에서 인식에 필요한 맵 부분을 잘라낸다. def cut_image(im): """Cut the image""" im = rotate(im, -8) x, y = 0, 125 h, w = 320, 800 im = im[y:y + h, x:x + w] rows, cols = im...

정보/R&E 2021.08.30

OpenCV-python를 이용하여 Unrailed! 윈도우 창 캡쳐하기

이전 글 : 2021 정보 R&E 주제 소개 https://minseob.tistory.com/6 게임을 플레이하는 ai를 만들려면 가장 먼저 게임 화면을 실시간으로 캡처해서 ai가 인식할 수 있도록 해야 한다. 이를 수행해주는 것이 바로 OpenCV이다. OpenCV는 Open Source Computer Vision의 약자로 실시간으로 이미지를 프로세싱하는 라이브러리이다. 파이썬 파일은 window화면을 캡처해주는 class가 담긴 window.py와 main.py 두 개를 만든다. Unrailed! 창을 캡처하기 위해서는 OpenCV 뿐만 아니라 win32gui, pyautogui, numpy 라이브러리가 필요하다. 이들 라이브러리를 설치한 후 import 해준다. import win32gui im..

정보/R&E 2021.07.14

2021 정보 R&E 주제 소개

R&E 는 Research & Education의 약자로 1년에 걸쳐서 하는 탐구 프로젝트를 말한다. 현재 재학 중인 전북과학고등학교에서는 정보, 수학, 물리, 화학, 생물, 지학 중 한 과목에 대하여 모든 1학년 학생이 4명이 한 조가 되어 각 조마다 R&E 탐구활동을 하고 있다. 그 중 나는 정보 R&E에서 부장을 맡고 있으며, 우리 조의 주제는 다음과 같다. "협동 게임을 이용한 강화학습 모델 개발" 개발 언어는 Python을 사용할 것이고, 개발 도구는 Pycharm 과 Google colab을 사용할 계획이다. 협동 게임은 "Unrailed!"라는 스팀게임을 택하였다. 강화학습은 기계학습의 한 종류로 어떤 환경 안에서 에이전트(행동의 주체)가 보상이 최대화되도록 행동하는 방법을 의미한다. 초기의..

정보/R&E 2021.07.13