DEEP.I - Lab

오프라인 공간의 지능화를 꿈꾸는 딥아이 연구실입니다.

반응형

PYTHON 24

[Python] OpenCV 웹캠 연결 문제 cv2.VideoCapture 해결 방법 #1

Concept 윈도우 기본 카메라 앱에서는 출력되지만, opencv에서 특정 웹캠 연결 문제가 발생하여 영상이 출력되지 않는 경우가 가끔 발생합니다. 다양한 이유가 있지만, 동영상 프레임을 불러오는 과정을 결정짓는 apiPreference 문제로 발생하기도 합니다. 일반적으로 opencv가 알아서 최적값을 찾아주지만 영상 출력이 되지 않는다면 한 번 시도해보길 바랍니다. VideoCaptureAPIs 열거형 상수 설명 CAP_ANY 자동 선택 CAP_V4L, CAP_V4L2 V4L/V4L2(리눅스) CAP_FIREWIRE, CAP_FIREWARE, CAP_IEEE1394 IEEE 1394 드라이버 CAP_DSHOW 다이렉트쇼(DirectShow) CAP_PVAPI PvAPI, Prosilica GigE ..

Python/Python 2021.03.29

[Python] Pyinstaller 오류 : A RecursionError (maximum recursion depth exceeded) occurred.For working around please follow these instructions 해결하기

Concept Pyinstaller는 파이썬 기반 실행 파일을 만드는 강력한 툴입니다. 윈도우나 맥 환경에 맞추어 자동으로 라이브러리와 필요 모듈을 내장하기 때문에 쉽게 배포판을 만들수 있죠. 하지만, 파이썬 자체 인터프리터의 용량과 기타 압축 한계로 인해 C 기반 프로그램보다 용량이 상당히 커진다는 단점이 있기는 합니다. 이를 위해 사용하는 오픈 라이브러리를 최소화하여 프로그래밍 하게됩니다. 프로젝트가 커지면 정말 많은 라이브러리를 Import하게 되는데, 이때 오류가 발생하곤 합니다. 파이썬을 실행파일로 만드는 과정에서 기준치 이상의 메모리 연산량을 요구하기 때문에 발생하는 오류입니다. 이를 해결하기 위해서는 오류와 함께 코드가 실행된 폴더에 생성되는 .spec 파일을 수정해야 합니다. # -*- m..

Python/Python 2021.03.24

[Tensorflow] 학습을 위한 대용량 훈련 데이터 처리 Data Generator 클래스 만들기

Concept 신경망 모델을 학습하기 위해 입력 데이터를 정리하고 전 처리하는 일은 중요하지만 언제나 귀찮은 일입니다. 특히, 이미지 데이터를 학습하기 위해 텐서 플로우에서 ImageGenerator를 설정하는 것은 소규모 데이터에서는 정리가 쉽지만, 대용량 대규모 데이터를 규격에 맞게 정리하는것은 쉽지 않죠. 이번 포스팅에서는 ImageGenerator.flow_ 함수를 직접 class로 만들어 커스터마이징이 쉽고 저장이 용이한 학습 데이터 구축 방법을 구현해보도록 하겠습니다. SourceCode keras.io/api/preprocessing/image/ Keras documentation: Image data preprocessing Image data preprocessing image_datas..

Python/Tensorflow 2021.03.17

[Python] PyQt에서 마우스 버튼 클릭 반응형 효과 만들기

Concept PC 환경에서 마우스는 이제 대체할 수 없는 강력한 UI 도구입니다. 모바일과 같이 NUI를 적용하려는 다양한 시도가 있었지만, 아직까지 대체 불가능인 것 같습니다. 우리는 프로그램에서 버튼을 클릭할 때 마우스 커서를 버튼 UI에 올려 놓게되며, 이때 커서의 반응 효과를 통해 클릭이 가능한 버튼은지, 클릭이 된 건지를 판단합니다. PyQt에도 기본적으로 버튼의 클릭 이벤트는 CSS로 구현되지만, 마우스의 효과는 코드를 통해 구현되고 있습니다. SourceCode def initUI(self): # 버튼 생성 self.BUTTON = QPushButton(self) # 버튼 커서 이벤트 지정 self.BUTTON.setCursor(QtGui.QCursor(QtCore.Qt.PointingHa..

Python/PyQt 2021.03.12

[Python] PyQt5에서 URL 링크 만들기 (하이퍼링크 버튼)

Concept 이번 포스팅은 pyqt 기반 GUI 프로그램에서 활용 가능한 URL 링크 버튼 만들기 입니다. URL 링크는 webbrowser 라이브러리를 QtButton과 연동하여 웹 페이지 링크를 실행하는 방식으로 구현됩니다. SourceCode import webbrowser class APP(QMainWindow): def __init__(self): # APP CODE # APP CODE # 버튼에 링크 추가하기 self.button.clicked.connect(lambda: webbrowser.open('링크')) # 텍스트 (라벨)에 링크 추가하기 self.label.setText('텍스트내용') self.label.setOpenExternalLinks(True) Application You..

Python/PyQt 2021.02.23

[Python] PDF 파일 병합 프로그램 PDF DI

PDF DI ver 0.2.1 연말 연초이다 보니 진행 중인 사업의 성과 보고나 재무 회계 관련 업무가 증가하고 있습니다. 전산화로 서류 정리 업무가 줄었다고는 하지만 모든 자료가 폴더에서 나뒹구니 더 골치 아프기도 합니다. 그동안 문서 통합을 위해 PDF, 한글, 워드 파일 변환이나 편집은 무료로 변환해주는 웹을 사용했지만 번거로운 작업으로 느껴져 필요 기능만 모은 PDF 병합 프로그램을 만들게 되었습니다. 모두가 쉽게 만들 수 있는 파이썬 PyPDF2 라이브러리를 기반으로 하였으며 업데이트를 통해 한글 파일이나 그림 파일도 통합하여 변환할 수 있도록 발전시킬 예정입니다. 핵심 기능 PDF 파일 병합 기능 JPG, PNG 그림 파일 자동 병합 PDF 파일 페이지 자르기 (추가 예정) 한글, 워드 파일 ..

Program 2021.01.12

[Python] 파이썬 OpenCV를 이용한 성별 및 나이 예측하기

Concept 지난 포스팅에 이어, 얼굴 인식 후 적용할 수 있는 성별 및 나이 예측 알고리즘입니다. 모두 파이썬 기반 OpenCV를 통해 구현하였으며 지난 포스팅을 참고하시면 기본적인 얼굴 탐지 알고리즘을 구현할 수 있습니다. deep-eye.tistory.com/18 [Python] 파이썬 OpenCV를 이용한 얼굴 인식 과거 얼굴인식은 첩보영화나 CSI와 같은 드라마에서 범죄자를 찾는데 활용되는 신기술로 인식되었으나, 머신러닝과 하드웨어의 발전으로 이젠 일상에서 쉽게 접할 수 있게 되었습니다. 현재 얼 deep-eye.tistory.com Algorithm 비교적 단순한 구조를 가지는 CNN 기반 신경망 모델입니다. 얼굴 탐지를 통해 예측된 얼굴의 위치 (경계 상자)를 기준으로 이미지를 추출한 뒤,..

Python/Python 2021.01.06

[Tensorflow] VGG16 모델을 이용하여 CNN 이미지 분류기 학습하기

1. Concept 지난 포스팅에 이어, 이번 포스팅에서는 특정한 객체를 집중적으로 분류하기 위해 사전 학습된 신경망 모델을 기반으로 가장 기초적인 방법을 통해 미세 학습 (Find-Tuning)을 구현해 보록 하겠습니다. ImageNet으로 학습된 VGG16 모델을 기반으로, Kaggle에서 제공되는 고양이 강아지 분류 데이터를 활용하겠습니다. 데이터는 200mb 정도이며 Kaggle 원문 링크 또는 구글 드라이브에서 받으실 수 있습니다. 구현 환경 : Windows 10 / Conda / Python 3.8 / Tensorflow 2.2 / CUDA 10.2 이전 포스팅을 참고하시면 기초적인 텐서플로우 구현에 도움이 됩니다 [텐서플로우] 아나콘다 가상 환경에서 텐서플로우 설치하기 [텐서플로우] 텐서플..

Python/Tensorflow 2020.12.27

[Tensorflow] 사전 학습된 VGG16 모델로 이미지 분류하기

이젠 Imagenet의 방대한 데이터로 사전 학습된 신경망 모델만으로도 충분한 분류 성능을 기대할 수 있게 되었습니다. 물론, 특정한 객체를 집중적으로 분류하기 위해서는 추가 데이터를 통한 미세 학습이 (Find-Tuning)이 필요합니다. 이번 포스팅에서는 학습 모델 구축 이전 대략적인 성능 평가를 할 수 있는 사전 학습 모델로 이미지 분류를 Tensorflow로 구현해 보록 하겠습니다. 텐서 플로우 설치나 사전 학습 모델 불러오는 방법의 상세 설명은 이전 포스팅을 참고하시면 됩니다. deep-eye.tistory.com/7 [Tensorflow] 아나콘다 가상환경에서 텐서플로우 설치하기 2019년 말, 텐서플로우 2.0 버전이 배포되면서 머신러닝 분야에서 텐서플로우의 열기는 더욱 더 뜨거워졌습니다. ..

Python/Tensorflow 2020.12.13

[Python] PyQt5 리소스 파일 Import error 해결 방법 "No module named 'icon_rc'"

파이썬에서 GUI 작업으로 활용되는 QT에서는 리소스 파일을 통해 이미지 파일을 관리할 수 있습니다. 리소스 파일 qrc을 생성하고 py로 변환하여 메인 코드에 import하는 과정으로 조금 복잡합니다. 저는 이상하게도 메인 코드에 변환된 py 확장자의 리소스 파일을 import 하게 되면 종종 해당 파일이 없다고 No module named 'icon_rc' 오류가 떴습니다. 메인 파이썬 프로그램에서는 import가 정상적으로 되지만, QT Designer로 생성한 ui 파일엔 변환된 정보가 없어서 발생하는 문제인것같습니다. 매 작업때마다 산발적으로 발생하는 오류에 지쳐 이제는 초기화 단계에서 함수형태로 코드를 입력해 ui 확장자 내에서 지정된 리소스 파일의 경로를 수정해주고 있습니다. import g..

Python/PyQt 2020.12.01
반응형