본문 바로가기
[파이썬] OpenCV 이미지 서치 (Template matching) 안녕하세요? 만들오 입니다. 파이썬 라이브러리 OpenCV를 이용한 이미지 서치기능 구현에 관한 글 입니다. 이미지 서치란? 배경화면에서 특정 이미지의 위치를 찾아내는것 입니다. 저는 이 기능을 게임화면 분석에 사용하려 합니다. 1. 사용 코드 import cv2 import numpy as np img = cv2.imread("nopotion.jpg") # 배경이미지 #img = cv2.imread("normal.jpg") # 배경이미지 imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 배경이미지를 흑백으로 변환 target = cv2.imread("target.jpg", cv2.IMREAD_GRAYSCALE) # 찾을 이미지. 불러올때부터 흑백 w, h = ta.. 2022. 2. 9.
[파이썬]PySimpleGUI - 간략한 소개 안녕하세요? 만들오 입니다. 최근 진행중인 리니지W 매크로 프로젝트에서 가장 큰 고민을 하게 만든것이 바로 GUI입니다. 얼마 전 OpenCV로 직접 GUI를 만들어 보기도 했는데 아쉬운 부분이 너무 많았습니다. 이것저것 라이브러리를 사용해봤지만, PySimpleGUI가 가장 쉽고 편리했습니다. 리니지W 매크로 V4를 위해 초안으로 사용했던 코드를 이용해 소개를 하겠습니다. import PySimpleGUI as sg sg.theme('DarkGray') #테마 설정 s1 = (8, None) # 1st column size s2 = (3, None) # I size s3 = (11, None) row1 = [sg.T("캐릭터명", size=s1), sg.I(size=(18,None)), sg.B("시작.. 2022. 2. 7.
[파이썬] OpenCV로 GUI 만들기 OpenCV GUI OpenCV는 이미지/영상처리의 대표격인 라이브러리 입니다. 이미지/영상 관련한 일은 뭐든지 할 수 있을것 같습니다. 하지만, GUI만큼은 지원하지 않고 있는데, 이 부분이 아쉬워 직접 만들어 봤습니다. OpenCV를 이용한 GUI 최근 리니지W 매크로 프로젝트를 진행하며, 가장 어려웠던 부분이 GUI였습니다. 전체 코드가 413 라인인데 핵심 코드는 100줄 정도이니, GUI가 75%를 차지하는군요...😂 이걸 이용해 라인수를 최대한 줄여 강좌를 시작하려고 합니다. 사용 방법 ① 필수 라이브러리 설치 pip install opencv-python numpy pillow ② cvgui.py 다운로드 사용할 앱이 있는 폴더에 저장합니다. 더보기 더보기 #cvgui.py import os.. 2022. 1. 21.
[파이썬] 비활성 키 입력 코드 공유 안녕하세요? 만들오 입니다. 최근 게임 매크로에 비활성 키 입력을 사용하고 있습니다. 비활성 키 입력이란? 창이 다른 화면에 가려져 있어도 입력하는 방식 이 방식으로 바로 게임창으로 키 입력을 보내는게 가장 좋은데, 게임사에서 막아놓곤 합니다. 아래 깃허브 홈페이지에서, 비활성 키보드 입력하는 부분을 마우스 입력으로 변경해 보았습니다. import win32gui, win32ui, win32con, win32api, time def get_inner_windows(whndl): def callback(hwnd, hwnds): if win32gui.IsWindowVisible(hwnd) and win32gui.IsWindowEnabled(hwnd): hwnds[win32gui.GetClassName(hwn.. 2022. 1. 13.
[파이썬] Pyinstaller dll 포함한 빌드 - 실패공유 리니지W 매크로를 V2로 업데이트하며, 기존 pydirectinput을 이용한 키 입력에서, pyautoit을 이용하도록 변경했습니다. pyautoit은 Autoit의 dll 모듈을 불러다 사용하는데, pyinstaller를 이용해 exe를 만들 때 포함이 되지 않는 문제가 있습니다. 구글링을 통해 .spec 파일을 수정해보거나, 빌드 옵션으로 --add-binary, --add-data 등을 적용해봤지만 잘 되지 않고 있습니다. 뭔가 해결방법이 있다면 이 글의 실패공유 딱지를 때고 공유하겠습니다. 2022. 1. 13.
[파이썬] ESP32-CAM 스트리밍 영상 불러오기(Tkinter, OpenCV) ESP32-CAM의 스트리밍 영상을 파이썬으로 불러오는 코드입니다. url 부분의 주소를 변경적용해야 합니다. import cv2 import PIL.Image, PIL.ImageTk from tkinter import * import numpy as np from urllib.request import urlopen class App: def __init__(self, window): self.width, self.height = 640,480 self.window = window self.window.geometry("640x480") self.window.title("Read ESP32-CAM") self.buffer = b'' url = "http://192.168.0.12:81/stream" #.. 2021. 7. 2.