개요 파이썬을 처음 공부하면 input(), print() 함수로 입,출력을 진행하게됩니다. 즉, Text 기반의 User Interface 입니다. 보통 자료형, 조건문, 반복문, 함수, 클래스 등 기초적인 문법을 공부하고나면, 이젠 좀 더 복잡하고 사용자 친화적인 UI ( U ser I nterface)를 구성하고 싶은 욕구가 생겨납니다. 그리고 GUI 자료를 찾아 보는 것이 일반적인 프로그래밍 언어 공부절차라고 생각합니다.
개요 안녕하세요. 평소 육체적, 정신적 건강을 위해 자전거 를 즐겨탑니다. 훈련양이 적어 실력이 부족함에도 늘 더 잘타고 싶은 욕망에 좀 더 시간대비 효과적인 훈련방법에 대한 고민이 많습니다. 😓 특히 페달링을 하는 각도 와 안장의 높이에 대해 여러 공부를 하고 있습니다. 그러던 와중에 구글의 MediaPipe 라는 기술을 알게 되었고 취미인 싸이클에 적용하기 위해 앱을 만들어 보았습니다. 꼭 싸이클분야가 아니어도 아래의 내용을 읽은 후 관절 번호를 변경하면 신체의 어느 부위라도 관절 인식 및 각도 측정이 가능 합니다. YouTube 운동영상 녹화후 분석 골격인식 후 팔꿈치, 무릎각도 측정 주요 기능으로 1. 실시간, 또는 저장된 동영상에서 인체 골격 추출 2. 골격의 위치좌표 를 역탄젠트 함수로 각도 측정 3. 어깨, 팔꿈치, 팔목 3 좌표로 팔꿈치(ELBOW) 각도 측정 4. 엉덩관절, 무릎, 발목 3 좌표로 무릎(KNEE) 각도 측정 Google MediaPipe MediaPipe 솔루션은 애플리케이션에 인체특징인식 관련 인공지능 (AI) 및 머신러닝 (ML) 기법을 빠르게 적용할 수 있는 라이브러리와 도구 모음을 제공합니다. Google MediaPipe 소개 아래의 솔루션에서 인체 특징을 감지할 수 있으며 저는 "Pose Landmark" 기술을 활용해 앱을 제작하였습니다. 보통 구글 GCP( G oogle C ...
개요 안녕하세요. 예전에 PyQt5 기반의 동영상플레이어 를 만든 게시물이 있었습니다. 수업 때 종종 활용해왔던 코드인데, 2024년부터 학원수업에 Qt6 기반의 PyQt6 를 사용하다 보니 PyQt5와 다른 몇가지 변화가 있어 새롭게 동영상 플레이어를 만들어 보았습니다. PyQt6 Multimedia 변경사항 새롭게 추가된 부분을 보면 레코딩 관련 클래스들이 추가되었습니다. 출처 : Qt Documentation 삭제된 부분은 추가보다 더 많습니다. 존재의 의미를 잘 몰랐던 QMediaContent (QUrl과 다른점이 🤔 )가 삭제되었으며, 잘 사용해오던 QMediaPlaylist 가 삭제되었습니다. 😩 출처 : Qt Documentation 이제 미디어 파일(비디오, 오디오 등)을 리스트로 관리해주던 QMediaPlaylist 클래스가 없어지면서 사용자가 직접 미디어 파일들을 관리 해야 합니다. 본 예제에서는 파이썬의 리스트를 사용해서 처리하였습니다. Qt는 크로스 플랫폼을 지원하기 때문에 그 클래스 내부는 다양한 OS에 대응하기 위해 복잡한 구조로 이루어져 있을 것으로 추측되고 편의적인 목적의 클래스들이 삭제된 것으로 추측됩니다. 좀 더 세부적인 변화는 아래 Qt 링크를 참조하기 바랍니다. Changes to Qt Multimedia 개발환경 Windows 11 Pro, MS Visual Studio 2022 Python 3.11.9 64bit, PyQt6 6.7.0 소스코드 Git ...
안녕하세요. 오션코딩학원장 김주원입니다. 지난 5월 부산광역시교육청 정보영재교육원에서 주관하는 썸머코딩페스티벌 이 있었습니다. C++, Python 에 대한 교육도 진행하고 코딩챌린지라는 프로그래밍 대회도 같이 진행됩니다. 무료교육도 받고 코딩 챌린지 참가자 전원 생기부에 해당활동을 기재 해 주는 좋은 기회입니다. (교내대회를 제외하고 사교육 조장등 이유로 외부대회 수상은 생기부에 기록불가)
개요 NYPC 는 넥슨에서 개최하는 청소년 프로그래밍 대회입니다. 매년 여름방학 시즌에 진행되어 비교적 학업에 지장을 덜 받고 출전해 볼 수 있습니다. 학원생 중 이 대회를 준비하는 친구들이 많아 문제풀이를 지속적으로 업데이트할 계획입니다. 자세한 대회 세부 요강 및 기출문제는 NYPC 홈페이지 를 참조하기 바랍니다.
개요 파이썬의 성능을 올리는 프로그래밍 팁 은 여러 가지가 있습니다. 여기 몇 가지 유용한 팁과 예시를 소개하겠습니다. 1. 리스트 컴프리헨션 사용 리스트 컴프리헨션 (List Comprehension) 은 for 루프를 사용한 리스트 생성보다 더 빠르고 간결합니다. 소규모 배열보다 대규모 배열 생성시 그 차이를 체감할 수 있습니다. # 일반적인 방법 squares = [] for x in range(10): squares.append(x**2) print(squares) # 리스트 컴프리헨션 사용 squares = [x**2 for x in range(10)] print(squares) 결과는 동일합니다. 참고로 "전문가를 위한 파이썬" 에서 저자인 루시아누 하말류는 List Comprehension을 "지능형 리스트" 라고 표현합니다. 지능형리스트나 리스트 컴프리헨션이나 이름이 중요하진 않지만 용어가 친숙하면 두려움없이 다가가는데 도움이 됩니다. 2. 제너레이터 사용 리스트나 튜플(Tuple) 대신 제너레이터(Generator)를 사용하면 메모리 사용을 줄일 수 있습니다. # 리스트 사용 nums = [x for x in range(1000000)] # 제너레이터 사용 nums = (x for x in range(1000000)) 리스트는 모든 요소를 메모리에 한 번에 저장합니다. 즉 리스트의 크기만큼 메모리가 필요합니다. 이를 위해 필요한 메모리 공간이 충분히 확보되어야 하며, 큰 리스트를 만들 경우 메모리 사용량이 급격히 증가할 수 있습니다. 반면, 제너레이터는 필요할 때마다 요소를 하나씩 생성합니다. 제너레이터는 전체 데이터를 한 번에 메모리에 올리지 않고, 데이터를 필요로 할 때 생성하여 처리하므로 메모리 사용이 매우 적습니다. 3. 내장 함수 사용 파이썬의 내장 함수(Built-in ...
개요 오늘은 Qt Designer 설치방법에 대해 설명하고자 합니다. Qt Designer는 Qt앱 생성시 GUI ( G raphic U ser I nterface) 를 쉽게 구성하고 배치하는 것을 도와주는 도구 입니다. [Qt Designer 실행화면] C++언어로 Qt를 사용하는 경우는 Qt Creator 설치시 같이 설치되어 바로 사용이 가능하지만 파이썬의 경우 별도 패키지를 설치 후 사용가능합니다. 그럼 파이썬에서 Qt Designer를 설치하는 방법을 살펴보겠습니다.
비디오 재생 예전 게시물 중 음악파일 플레이어 를 파이썬으로 만든 예제가 있습니다. Qt 의 QMediaPlayer , QMediaPlaylist class를 이용해 mp3 등 음악 파일을 재생하는 원리입니다. 아래와 같이 사용합니다. from PyQt5.QtWidgets import QApplication from PyQt5.QtMultimedia import QMediaPlaylist, QMediaPlayer, QMediaContent from PyQt5.QtCore import QUrl import sys if __name__ == '__main__': app = QApplication(sys.argv) playlist = QMediaPlaylist() url = QUrl.fromLocalFile('test.mp3') playlist.addMedia(QMediaContent(url)) player = QMediaPlayer() player.setPlaylist(playlist) player.play() sys.exit(app.exec_()) PlayList를 생성해 파일을 추가하고, Player의 play() 함수를 수행하면 음악이 재생됩니다. 이번에는 동영상 플레이어 (Video Player) 를 Python + PyQt5 를 이용해 만들어 보았습니다. 기본 원리는 위와 같지만 비디오을 출력할 위젯 (QVideoWidget)만 설정 하면 동영상이 재생되는 원리입니다. [동영상 재생 프로그램] 주요기능 재생 리스트에 동영상 파일 추가, 삭제 (*.avi. *.mp4, *.mkv, *.mp...