Python 프로그래머 가이드#
Basler pylon용 공식 Python 언어 바인딩은 pypylon 프로젝트입니다. pypylon은 GitHub에서 호스팅되는 오픈소스 프로젝트입니다. Basler Stereo mini 카메라를 사용하려면 버전 26.04 이상이 필요합니다.
pypylon을 처음 사용하시는 경우, Basler에서는 먼저 pypylon 문서를 읽어보며 pypylon API에 익숙해지실 것을 권장합니다.
전제 조건#
설치#
pypylon 설치#
Stereo mini 카메라를 Python에서 사용하려면 pypylon 패키지를 설치하십시오:
이 패키지는 pylon SDK용 파이썬 바인딩을 제공합니다.
제공된 샘플 세트의 경우, 각 샘플 폴더에 필요한 종속성을 설치하십시오:
SimpleGrab/requirements.txtShowPointCloud/requirements.txtLeftAndRightIntensity/requirements.txt
시작하기#
샘플 실행하기#
Stereo mini 용 pylon 보충 패키지에는 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.
정보
샘플을 빌드하기 전에, 샘플이 들어 있는 폴더를 쓰기 권한이 있는 원하는 위치로 복사하십시오.
파이썬 예제를 실행하려면, 해당 예제가 들어 있는 폴더로 이동한 후 파이썬을 사용하여 실행하십시오. 예:
샘플을 실행하는 데 문제가 발생하면 ‘문제 해결’ 항목을 확인하십시오.
샘플 목록#
- SimpleGrab: Stereo mini 카메라에서 이미지를 캡처하고 색상 및 깊이 데이터에 접근하는 방법을 설명합니다.
- ShowPointCloud: Open3D를 사용하여 Stereo mini 카메라에서 포인트 클라우드를 가져와 시각화하는 방법을 보여줍니다.
- LeftAndRightIntensity: OpenCV를 사용하여 Stereo mini 카메라의 좌측 및 우측 강도 스트림을 표시하는 방법을 보여줍니다.
자세한 내용은 Python 샘플 디렉터리에 있는 샘플 코드를 참조하십시오.
Stereo mini 카메라에서 pypylon 사용 방법#
필요한 모듈 가져오기#
카메라 연결#
다음 예제는 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")
카메라 파라미터 액세스#
다음 경로를 통해 카메라 설정에 접근할 수 있습니다. 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 카메라는 강도 성분과 거리 성분을 모두 제공합니다. 이 예제에서는 다음을 사용합니다:
Coord3D_C1616비트 범위 값의 경우Coord3D_ABC32fXYZ 좌표 데이터의 경우