콘텐츠로 건너뛰기
STAGING SERVER
DEVELOPMENT SERVER

Python 프로그래머 가이드#

본 항목은 Basler Stereo mini 카메라에 특화된 정보를 제공합니다. 공식 Basler pylon Python 언어 바인딩에 대한 포괄적인 개요를 제공하기 위한 것은 아닙니다.

공식 Basler pylon Python 언어 바인딩은 pypylon 프로젝트입니다. pypylon은 GitHub에서 호스팅되는 오픈 소스 프로젝트입니다. Basler Stereo mini 카메라를 사용하려면 버전 26.04 이상이 필요합니다.

pypylon을 처음 사용하는 경우, Basler에서는 먼저 pypylon documentation을 읽고 pypylon API에 익숙해질 것을 권장합니다.

사전 요구 사항#

  • Python 3.9 이상
  • pypylon 라이브러리
  • NumPy 라이브러리
  • OpenCV 라이브러리
  • Open3D 라이브러리(선택 사항, 시각화에 사용됨)

설치#

pypylon 설치하기#

Python에서 Stereo mini 카메라를 사용하려면 pypylon 패키지를 설치하십시오.

pip install pypylon

이 패키지는 pylon SDK용 Python 바인딩을 제공합니다.

제공된 샘플 세트의 경우 각 샘플 폴더에 종속성을 설치하십시오.

  • SimpleGrab/requirements.txt
  • ShowPointCloud/requirements.txt
  • LeftAndRightIntensity/requirements.txt

시작하기#

샘플 실행#

Stereo mini용 pylon Supplementary Package에는 Python 및 pypylon을 사용하여 Stereo mini 카메라에 액세스하는 방법을 보여주는 몇 가지 Python 프로그래밍 샘플이 포함되어 있습니다.

The Python samples are located in the C:\Program Files\Basler\pylon\Development\Samples\Stereo_mini\Python folder.

The Python samples are located in the /opt/pylon/share/pylon/Samples/Stereo_mini/Python folder.

The Python samples are located in the /opt/pylon/share/pylon/Samples/Stereo_mini/Python folder.

정보

샘플을 빌드하기 전에 쓰기 권한이 있는 원하는 위치에 샘플이 포함된 폴더를 복사하십시오.

Python 샘플을 실행하려면 샘플이 포함된 폴더로 이동하여 Python을 사용하여 실행하십시오. 예시:

python SimpleGrab.py

예제 실행 중 문제가 발생하는 경우 Troubleshooting 항목을 확인하십시오.

예제 목록#

  • SimpleGrab: Stereo mini 카메라에서 이미지를 획득하고 컬러 및 깊이 데이터에 액세스하는 방법을 보여 줍니다.
  • ShowPointCloud: Open3D를 사용하여 Stereo mini 카메라에서 포인트 클라우드를 획득하고 시각화하는 방법을 보여 줍니다.
  • LeftAndRightIntensity: OpenCV를 사용하여 Stereo mini 카메라의 왼쪽 및 오른쪽 명도 스트림을 표시하는 방법을 보여 줍니다.

자세한 내용은 Python 예제 디렉터리의 샘플 코드를 참조하십시오.

Stereo mini 카메라에서 pypylon을 사용하는 방법#

필요한 모듈 가져오기#

from pypylon import pylon

import numpy as np

카메라에 연결#

다음 예제는 pypylon을 사용하여 사용 가능한 첫 번째 Stereo mini 카메라를 여는 방법을 보여줍니다.

# Create Stereo mini filter to avoid opening a non-Stereo-mini device
di = pylon.DeviceInfo()
di.SetDeviceClass("BaslerGTC/Basler/Stereo_mini")

camera = pylon.InstantCamera(pylon.TlFactory.GetInstance().CreateFirstDevice(di))

print(f"Using camera: {camera.GetDeviceInfo().GetFriendlyName()}")

camera.Open()

특정 Stereo mini 카메라를 열려면 카메라를 생성하기 전에 일련번호 또는 사용자가 정의한 이름을 설정하십시오.

# Open a specific Stereo mini camera by serial number
di.SetSerialNumber("12345678")

# Open a specific Stereo mini camera by user-defined name
di.SetUserDefinedName("MyStereoMini")

카메라 Property 액세스#

다음 객체를 통해 카메라 Property에 액세스할 수 있습니다. camera 예를 들면 다음과 같습니다.

# Example parameter access
camera.ExposureTime.Value = 5000  # microseconds
camera.Gain.Value = 5.0

print(f"ExposureTime: {camera.ExposureTime.Value}")
print(f"Gain: {camera.Gain.Value}")

이미지 그랩#

다음 예제는 Stereo mini 카메라에서 이미지를 획득하는 방법을 보여줍니다.

camera.StartGrabbing()

grab_result = camera.RetrieveResult(5000, pylon.TimeoutHandling_ThrowException)

if grab_result.GrabSucceeded():
    data_container = grab_result.GetDataContainer()
    print(f"Components: {data_container.DataComponentCount}")

grab_result.Release()

깊이 데이터 액세스#

Stereo mini 카메라는 강도(intensity) 및 거리(range) 컴포넌트를 모두 제공합니다. 샘플에서 사용하는 항목:

  • Coord3D_C16 (16비트 거리 값용)
  • Coord3D_ABC32f (직접 XYZ 포인트 데이터용)
# Configure range format
camera.ComponentSelector.Value = "Range"
camera.PixelFormat.Value = "Coord3D_C16"