MapleStory Finger Point

미니 프로젝트 5

[1] 가상 번호판을 만들어보자

요즘 YOLOv7 기반으로 번호판 인식 모델을 만들고 있는 중이다. 모델을 만들려면 학습할 이미지 데이터가 있어야 하는데 검색해 보면 죄다 외국 번호판 데이터밖에 없다. 개인적인 생각으로 외국 번호판이랑 우리나라 번호판이랑 약간 다르게 생겨서 외국 번호판을 기반으로 학습해도 인식이 잘 될지 미지수였다. 그래서 생각해낸 것이 바로, 외국 번호판 이미지 데이터셋을 보면 이미지 파일과 어노테이션을 진행하여 번호판 좌표가 들어있는 텍스트 파일 또는 json 파일 같은 게 같이 들어있다. 여기 좌표에 대한민국 번호판을 집어여면 되지 않을까 라는 생각이었다. GitHub - Oh-JongJin/Virtual_Number_Plate: 가상 번호판 만들기 가상 번호판 만들기. Contribute to Oh-JongJi..

파이썬으로 파일 자동 삭제 프로그램 만들기

회사에서 만드는 프로그램의 특성상 데이터 저장으로 하드를 되게 많이 쓰고 있다. 주기적으로 저장 공간 관리를 직접 하는데 너무 귀찮아서 하나 만들어 보았다. 사용한 모듈은 os, shutil, psutil이다. psutil은 외부 모듈으로 pip install psutil로 설치하여야 한다. 일단 알고리즘부터 짠 다음, GUI를 통해 만들어보려 한다. 코드는 아래와 같다. #!/usr/bin/env python3 # # Copyright 2021-2022 9th grade 5th class. # # Authors: # 5jx2oh@gmail.com import os import sys import shutil import psutil class FileAutoDelete: """ Delete the ol..

[3] Pyiano - 소리 멀티 출력 [끝]

그동안 건반을 치면 한 번에 하나의 소리만 출력됐다. 예를 들어 도를 치고 바로 레를 치면 도 소리가 멈추며 레 소리로 바로 넘어갔다. 멀티 작업이 되지 않았던 것이다. 알고 보니 저번에 소리 파일을 재생하는 코드를 개별로 설정만 해주면 끝나는 문제였다. def click_C(self, event): self.C.setStyleSheet("background-color: #d1d1d1;") file = "audio/25.MP3" pygame.mixer.init(self.freq, self.bitsize, self.channels, self.buffer) pygame.mixer.music.load(file) pygame.mixer.music.play() 각 클릭 이벤트 함수마다 그냥 pygame 모듈에 설..

[2] Pyiano - 클릭 시 소리 출력

이번에는 간단하게 진행할 것이다. 지난번에는 건반 클릭 이벤트만 처리했는데, 누르면 피아노 소리가 나도록 설정해야 한다. 일단 먼저 피아노 소리 파일이 있어야 하는데 구글링 해보니 쉽게 찾을 수 있었다. 여기 있다. 출처 각각 mp3 파일과 wav 파일이 있는데, 파이썬에는 'wave'라는 모듈이 있어 wav 파일을 쉽게 읽고 쓸 수 있다. wave 모듈을 사용했는데, 왜인지 모르겠지만 재생이 되지 않아 부득이하게 그냥 간편한 pygame 모듈을 사용한다. 아 그리고 일단 loop 문은 지운 상태로 코드를 작성했다. 왜냐면 loop문이 끝나야 음악 파일이 재생이 된다.. import os import sys from PyQt5 import QtWidgets, QtGui, QtCore from pyiano..

[1] Pyiano - Ui 제작

어렸을 적 코흘리개였을 때, 난 피아노 학원에 다녔었다. 아마 체르니 90번까지 배웠던 기억이 난다. 그렇다. 체르니 90번은 없다. 그렇기 때문에 파이썬으로 피아노를 만들어 보려고 한다. 먼저 Qt Designer를 실행하여 기본 Ui 틀을 제작한다. ui파일을 다 제작하였으면 이제 파이썬 파일로 변환해준다. pyuic5 -x pyiano.ui -o pyiano.py 위의 명령을 cmd에서 실행해준다. 그럼 이제 이벤트 처리를 할 코드를 작성해야 한다. import sys from PyQt5 import QtWidgets, QtGui, QtCore from pyiano import Ui_MainWindow class Pyiano(Ui_MainWindow): def __init__(self): super..