신속한 카메라 어플리케이션 프로토타입 개발
IDS peak 및 uEye+ 카메라를 사용한 소통형 프로그래밍
Python은 사물 인터넷(IoT)에서 매우 일반적인 프로그래밍 언어입니다. 이를 통해 완벽한 개발 환경이 아니라도 짧은 코드 조각을 작성하고 테스트할 수 있습니다. 이와 같은 소통형 프로그래밍은 테스트 및 시험 단계에 이상적인 인터페이스입니다. 특히 Python을 임베디드 시스템과 함께 사용하면 많은 시간을 소모하는 크로스 컴파일링이 필요하지 않아 효율적입니다.
또한, IDS peak 1.2로 Python을 활용한 uEye+ 카메라 어플리케이션 프로그래밍이 가능합니다. IDS 산업용 카메라의 다양한 기능을 빠르게 테스트하고 분석할 수 있으며, 이를 통해 대규모 소프트웨어 프로젝트에서 사용할 수 있도록 준비할 수 있습니다. 이 TechTip을 통해 IDS peak Python 인터페이스를 통한 uEye+ 카메라 프로그래밍에 대해 더 자세히 설명해 드리고자 합니다.
사용된 Python 소스 코드 예제는 카메라 및 인터페이스의 기본 핸들링을 보여줍니다. 그들은 "Jupyter notebooks"로 설계되었습니다. 이를 통해 uEye+ 카메라를 사용하여 오픈 소스 웹 어플리케이션(open source web application)에서 실시간으로 테스트하고 재현할 수 있습니다.
Windows 10 PC에서 Jupyter notebook의 설치 및 사용을 설명합니다. Python은 여러 플랫폼에서 사용할 수 있고 Jupyter Notebook은 독립적인 플랫폼 웹 어플리케이션이므로 Linux에서 소스 코드 예제를 실행하고 테스트할 수 있습니다.
요구사항
Python
Python(Python 3.5 이상)은 Jupyter Notebook 설치 및 IDS peak 프로그래밍 예제를 위한 필수 조건입니다.
Python 다운로드 및 설치
Python이 "모든 사용자"에 대해 설치되어 있고, Python이 "path" 변수에 추가되었는지 확인하십시오. 그런 다음 명령 프롬프트를 통해 Python을 사용할 수도 있습니다.
추가 Python 라이브러리
소스 코드 예제에서는 이미지 프로세싱 및 데이터 시각화를 위해 추가 Python 라이브러리를 사용합니다. 이것도 설치해야 합니다.
- PIL - Python Imaging Library는 이미지 프로세싱 기능으로 Python interpreter를 확장합니다.
- matplotlib - Matplotlib는 Python에서 정적, 애니메이션 및 소통형 시각화를 만들기 위한 종합 라이브러리입니다.
- OpenCV - 컴퓨터 비전 라이브러리
- pyTorch - 딥 러닝 프레임워크
또한 다음 경로를 통해 라이브러리를 설치할 수도 있습니다:
pip install Pillow
pip install matplotlib
pip install opencv-python
pip install torch
IDS peak
uEye+ 카메라의 작동 및 프로그래밍을 위해 IDS peak SDK(Software Development Kit)를 설치하십시오. 여기에는 필요한 모든 라이브러리와 소프트웨어 도구가 포함됩니다.
IDS peak Software Development Kit(소프트웨어 개발 키트)
그 후에 Python 버전과 일치하는 버전에 IDS peak API 및 IPL Python 바인딩을 설치하십시오. 가장 쉬운 방법은 PowerShell(관리자 권한)을 사용하여 Python 패키지용 패키지 관리 프로그램인 "pip"를 사용하는 것입니다.
python -m pip install --upgrade pip
pip install "C:\Program Files\IDS\ids_peak\sdk\api\binding\python\wheel\x86_64\ids_peak-1.2.0.5-cp38-cp38-win_amd64.whl"
pip install "C:\Program Files\IDS\ids_peak\sdk\ipl\binding\python\wheel\x86_64\ids_peak_ipl-1.2.2.1-cp38-cp38-win_amd64.whl"
Jupyter Notebook
오픈 소스 웹 어플리케이션의 설치도 pip를 사용하면 매우 간단합니다.
pip install notebook
Jupyter Notebook에 대한 더 많은 정보:
Jupyter Notebook 첫번째 단계

Jupyter Notebook 설치
Jupyter 문서
Jupyter Notebook 실행
그런 다음, PC의 폴더에 소스 코드 예제의 압축을 풉니다.
이 패키지에는 하나의 파일만 있습니다. 샘플 Jupyter notebook.
ids-peak-python-sample-jupyter.zip
Notebook 서버
사용자 권한으로 충분한 Powershell 창을 열고 Jupyter Notebook 서버를 시작합니다.
폴더 내 Powershell 열기
샘플 notebook의 설치 폴더에서 직접 서버를 작동하면 notebook을 직접 사용할 수 있습니다.
특정 폴더에서 직접 PowerShell 창을 열려면, 먼저 탐색기에서 이 디렉토리로 이동하고 상단의 경로 표시줄에 "powershell"을 입력한 후 "Enter" 키를 누릅니다.
PS C:\Users\ids\ids-peak-jupyter-notebooks> jupyter notebook
[I 12:12:45.115 NotebookApp] Serving notebooks from local directory: C:\Users\ids\ids-peak-jupyter-notebooks
[I 12:12:45.115 NotebookApp] The Jupyter Notebook is running at:
[I 12:12:45.115 NotebookApp] http://localhost:8888/?token=f8baad4df16a4b1436c59723cfcba540c4b5a923b3352120
[I 12:12:45.115 NotebookApp] or http://127.0.0.1:8888/?token=f8baad4df16a4b1436c59723cfcba540c4b5a923b3352120
[I 12:12:45.115 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
Notebook 서버는 시작할 때 기본 웹 브라우저에서 열리고, shell에 웹 어플리케이션의 URL(기본값: http://localhost:8888)을 포함한 약간의 정보를 출력합니다. 브라우저에서 서버를 열면, notebook 서버가 시작된 디렉토리의 notebook, 파일 및 하위 디렉토리 목록을 표시하는Notebook 대시보드가 표시됩니다.
Notebook 사용하기
"ids-peak-python-sample-jupyter.jpynb"notebook을 서버에서 여십시오.
Notebook에는 주석이 달려 있어 다른 설명이 필요하지 않습니다. 그것을 실행하고 요구 사항에 맞게 설정하고 저장할 수 있습니다. IDS peak Jupyter Notebook은 Python을 사용한 카메라 찾기 및 열기, 카메라 설정 조정 및 사진 촬영과 같은 uEye+ 카메라를 다루는 법을 안내합니다. 또한, OpenCV의 이미지 프로세싱을 위해 IDS peak IPL(Image Processing Library)을 사용하여 이미지 데이터를 다른 데이터 형식으로 변환하는 방법을 보여줍니다. OpenCV의 추가 프로세싱도 일부 기본 기능과 함께 표시됩니다. pyTorch와 같은 딥 러닝 프레임워크가 카메라 이미지에서 얼마나 빠르게 간단한 사물 인식을 실현하는지 알 수 있습니다.
IDS uEye+ 카메라와 IDS peak을 활용한 프로그래밍에 대한 더 많은 정보는, IDS 웹사이트의 Knowledge Base를 방문하시거나 IDS의 system consultant에게 문의하십시오.
팁: uEye+ 웨비나 영상
웨비나 영상 "Rapid prototyping camera applications(신속한 카메라 어플리케이션 프로토타입 개발)" 은 Jupiter notebook을 사용하여 IDS peak Python 인터페이스로 프로그래밍하는 것을 보여줍니다.
공학 석사 Heiko Seitz는 2001년부터 IDS에서 근무하고 있습니다. 카메라 소프트웨어 개발자로 수년간 근무한 후, 현재 IDS에서 제품 마케팅 매니저로 기술 커뮤니케이션을 지원하고 있습니다. Heiko Seitz의 경험은 복잡한 기술과 실용적 지식 전달 사이의 간극을 메우며, 기술 문서, 웨비나, 강연 등에서 이를 효과적으로 구현합니다.
Vision Channel
머신 비전 관련 영상 및 라이브 세션
귀하의 프로젝트
프로젝트에 어떤 도움이 필요하신가요? 최적의 솔루션을 함께 찾아드리겠습니다.
뉴스 레터
최신 정보를 확인하고 IDS 뉴스레터를 구독하세요.