본문 바로가기

파이썬 프로그래밍68

등가속도 운동 분석기 개발 과정(with Gemini AI, 노코딩) 1. 개발 동기(블로그를 쭉 보신 분들은 알겠지만) 난 원래 고등학교 물리교사다. 물리 교사라면 실험을 해야 한다.그 당시에 스마트폰을 이용한 활용 교육이 대세였는데 특히 영상 분석이 그러하였다. 스마트폰으로 물체의 운동을 영상으로 찍고 분석하는 방법이 있었다. 10년전(그러니까 2015년 쯤?)은 많은 학생들이 아이폰보단 갤럭시를 사용하였고 안드로이드 어플에서 Vidanalysis라는 프로그램이 있었다. 이 프로그램은 동영상을 촬영하고 실제 거리 설정, 축 설정, 프레임별 위치를 기록하면 표와 그래프로 출력해주는 프로그램이었다.문제는 터치 잘못하면 결과값이 완전 틀리게 나온다... 그런데 스마트폰의 정확한 터치가 어려우므로 실제 수행평가에서 정밀한 활용이 어려웠지만 나름 잘 쓰긴 했다. 2025년 현.. 2025. 5. 2.
8. PyQt5 쓰레드로 동영상 재생 제어하기 1. 동영상 재생 중 삭제 구현하기쓰레드를 이용하여 opencv로 불러낸 동영상의 재생을 제어해 보자.이젠 동영상 재생 중 삭제가 가능하다. (아직 일시정지 구현 전이다.) import sys, cv2from PyQt5.QtWidgets import *from PyQt5.QtGui import * import timefrom queue import Queuefrom threading import Threaddef open_movie(): print("동영상 불러오기를 성공하였습니다.")class MyWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("physics.. 2024. 11. 27.
7. PyQt5 쓰레드 사용하기 6. PyQt5와 opencv 연동하기 : 동영상 불러오기 6. PyQt5와 opencv 연동하기 : 동영상 불러오기이번도 악보쓰는 프로그래머 블로그를 참고하였다.OpenCV(Python) + PyQt OpenCV(Python) + PyQtOpenCV로 영상처리나 컴퓨터 비전을 처리하고 나서 결과를 화면에 표시하려면 결국 창을 띄워야 하는데, OpenCVtoyourlight.tistory.com저번 포스트에서 PyQt5 이벤트 loop에 함부로 반복문을 사용하면 안된다고 하였다. 반복문에 진입하게 되면 이벤트 loop이 막히기 때문이다. 아래는 그러한 문제를 발생시키는 예시이다. 카운트 시작이라는 버튼을 누르면 0.5초가 지날 때 마다 1씩 감소하는 코드다. 여기서 '카운트 초기화'라는 버튼을 눌러도 카.. 2024. 11. 25.
6. PyQt5와 opencv 연동하기 : 동영상 불러오기 이번도 악보쓰는 프로그래머 블로그를 참고하였다.OpenCV(Python) + PyQt OpenCV(Python) + PyQtOpenCV로 영상처리나 컴퓨터 비전을 처리하고 나서 결과를 화면에 표시하려면 결국 창을 띄워야 하는데, OpenCV의 imshow() 함수 만으로는 역부족인 경우가 많습니다. 파이썬 언어에서 인기 있는 멀티blog.xcoda.net 동영상은 이미지를 불러오는 방법에서 while문으로 frame 단위로 읽는 것이라 생각하면 된다. 먼저 작동화면을 보자  동영상 열기를 누르고 동영상을 불러오면 자동 재생되게 만들었다. 코드를 살펴보자 import sys, cv2from PyQt5.QtWidgets import *from PyQt5.QtGui import * def open_movie(.. 2024. 11. 24.