pylon을 사용한 프레임 그래버 구성#
정보
이 항목에서는 기본 사용 사례를 다룹니다. 프레임 그래버의 소프트웨어 기능에 대한 자세한 내용은 다음 문서를 참조하십시오:
프레임 그래버 구성은 특히 다음과 같은 상황에서 유용합니다:
- 프레임 그래버에서 사용하는 applet을 변경하려고 합니다.
- 프레임 그래버를 통해 연결된 Basler boost 카메라를 트리거하려고 합니다.
- 이미징 시스템의 성능을 높이기 위해 프레임 그래버에서 디베이어링을 수행하려고 합니다.
- 카메라에서 사용할 수 없는 출력 형식(예: 16-bit mono 형식)을 사용하려고 합니다.
- 프레임 그래버가 수신 또는 송신하는 트리거 신호를 구성하려고 합니다.
Applet 변경#
프레임 그래버에서 실행되는 어플릿은 그 기능을 정의합니다. 특정 카메라 설정의 경우 기본 어플릿을 변경해야 할 수도 있습니다.
프레임 그래버에서 사용하는 앱릿을 변경하려면, InterfaceApplet 파라미터를 로드할 어플릿의 이름으로 설정합니다(예: Acq_DualCXP12Area.
사용 가능한 applet을 확인하려면 Acquisition Applets for imaWorx CXP-12 Quad를 참조하세요.
프레임 그래버를 사용하여 Basler boost 카메라 트리거하기#
정보
이 섹션은 특히 프레임 그래버를 통해 카메라를 트리거하려는 경우에만 관련이 있습니다. 일반적으로 카메라는 카메라의 I/O 커넥터를 통해 트리거됩니다. 자세한 내용은 Triggered Image Acquisition을 참조하세요.
하드웨어 트리거(외부)#
외부 트리거가 활성화된 상태에서 프레임 그래버로 트리거 입력 신호를 전송할 수 있으며, 프레임 그래버는 이 신호를 Basler boost 카메라로 전달합니다.
외부 하드웨어 트리거용 프레임 그래버를 구성하려면:
- 다음 값 중 하나로
AreaTriggerMode매개변수:External. - 다음 값 중 하나로
TriggerInSource파라미터를 원하는 "Front GPI" 입력 라인으로 설정합니다.
예를 들어 외부 트리거에 GPI0(프레임 그래버의 핀 11 및 12)을 사용하려면 매개변수를 다음과 같이 설정합니다.FrontGpiTriggerSource0. - 다음 값 중 하나로
TriggerCameraOutSelect파라미터를 해당 "Bypass" 옵션으로 설정합니다.
예를 들어, 다음을 선택한 경우:FrontGpiTriggerSource0으로 설정하고TriggerCameraOutSelect매개변수:BypassFrontGpi0. - 다음 값 중 하나로
TriggerState매개변수:Active. - 필요한 경우 아래 설명된 대로 트리거 신호를 구성하십시오.
모든 트리거 신호는 카메라의 소스 신호로 전달됩니다. CxpTrigger0 및 CxpTrigger1 (현재 두 라인 간의 동작 차이는 없습니다.) 신호는 다양한 용도로 사용할 수 있습니다. 가장 일반적인 사용 사례는 이미지 획득입니다. 다음을 참조하세요. 아래 예시.
하드웨어 트리거(내부)#
내부 트리거가 활성화된 상태에서 프레임 그래버는 지정된 주파수로 내부에서 트리거 신호를 생성합니다. 모든 외부 트리거 신호는 무시됩니다.
내부 하드웨어 트리거를 사용하도록 프레임 그래버를 구성하려면:
- 다음 값 중 하나로
AreaTriggerMode매개변수:Generator. - 다음 값 중 하나로
TriggerOutputFrequency매개변수를 원하는 트리거 출력 주파수로 설정합니다. 예를 들어 매개변수를 8로 설정하면 프레임 그래버는 초당 8개의 트리거 신호를 생성합니다. - 다음 값 중 하나로
TriggerCameraOutSelect파라미터를 원하는 출력 라인으로 설정합니다(예:PulseGenerator0. - 다음 값 중 하나로
TriggerState매개변수:Active.
이제 이미지 획득을 시작할 때마다 프레임 그래버가 지정된 주파수로 트리거 신호를 생성합니다.
모든 트리거 신호는 카메라의 소스 신호로 전달됩니다. CxpTrigger0 및 CxpTrigger1. 이 신호들은 다양한 용도로 사용할 수 있습니다. 가장 일반적인 용도는 이미지 취득입니다. 다음을 참조하십시오. 아래 예시.
예시: 이미지 취득을 위한 트리거 신호 사용#
프레임 그래버에서 생성된 외부 또는 내부 트리거 신호를 사용하여 이미지를 획득하려면:
- 카메라에서 다음을 설정하십시오.
TriggerSelector매개변수:FrameStart. - 다음 값 중 하나로
TriggerMode매개변수:On. - 다음 값 중 하나로
ExposureMode매개변수:Timed. - 다음 값 중 하나로
TriggerSource매개변수:CxpTrigger0또는CxpTrigger1.
현재 두 라인 간의 동작 차이가 없으므로 둘 중 하나를 선택할 수 있습니다.
이제 프레임 그래버가 트리거 신호를 수신하거나 생성할 때마다 카메라가 이미지를 취득합니다.
정보
신호 소스로 제어할 수 있는 모든 Basler boost 카메라 기능의 소스로 트리거 신호를 사용할 수 있습니다. 예를 들어, CounterTriggerSource 매개변수: CxpTrigger0 인터페이스 카드를 사용하여 다음을 제어할 수 있습니다. Counter 프레임 그래버를 사용하는 기능입니다.
프레임 그래버에서 디베이어링 수행하기#
프레임 그래버에서 디베이어링을 수행할 수 있습니다. 이를 통해 카메라와 호스트 컴퓨터의 연산 부하를 줄일 수 있습니다.
방법:
- 카메라에서 다음을 설정하십시오.
PixelFormat파라미터를 Bayer Pixel Format으로 설정합니다(예:BayerRG12. - 프레임 그래버에서,
AutomaticFormatControl매개변수:false.
이를 통해 카메라에서 사용하는 Pixel Format과 무관하게 출력 형식을 설정할 수 있습니다. - 프레임 그래버에서,
Format매개변수를 해당하는 RGB Pixel Format으로 설정합니다.
비트 심도는 Bayer Pixel Format의 비트 심도의 3배여야 합니다. 예: BayerRG12(카메라) = Color36bit(프레임 그래버).
이제 프레임 그래버가 카메라의 raw 이미지 데이터에 디베이어링(debayering)을 수행하고 RGB 이미지 데이터를 출력합니다.
정보
위의 3단계에서 올바른 RGB Pixel Format을 설정했는지 확인하십시오. 그렇지 않으면 이미지가 제대로 획득되지 않습니다.
카메라에서 지원하지 않는 출력 형식 사용#
Basler boost 카메라는 Bayer RG 8 또는 RGB 8과 같은 다양한 pixel format으로 이미지 데이터를 출력할 수 있습니다. 자세한 내용은 pixel format 항목을 참조하십시오.
필요한 Pixel Format을 카메라에서 사용할 수 없고 호스트 컴퓨터에서의 이미지 변환도 피하려는 경우, 프레임 그래버에서 제공하는 Pixel Format 중 하나를 사용할 수 있습니다.
프레임 그래버는 다음과 같은 포맷을 제공합니다.
| Gray8bit | Gray10bit | Gray12bit | Gray16bit |
| Color24bit | Color30bit | Color36bit | Color48bit |
| Bayergr8 | Bayergr10 | Bayergr12 | Bayergr16 |
| Bayerrg8 | Bayerrg10 | Bayerrg12 | Bayerrg16 |
| Bayergb8 | Bayergb10 | Bayergb12 | Bayergb16 |
| Bayerbg8 | Bayerbg10 | Bayerbg12 | Bayerbg16 |
카메라에서 사용할 수 없는 출력 포맷을 사용하려면:
- 카메라에서 다음을 설정하십시오.
PixelFormat매개변수를 원하는 카메라 Pixel Format으로 설정합니다(예:Mono12. - 프레임 그래버에서,
AutomaticFormatControl매개변수:false.
이를 통해 카메라에서 사용하는 Pixel Format과 무관하게 출력 형식을 설정할 수 있습니다. - 프레임 그래버에서,
Format파라미터를 원하는 출력 포맷으로 설정합니다(예:Gray16bit.
위의 예시 값을 사용하여 프레임 그래버는 12비트 카메라 이미지 데이터를 기반으로 16비트 이미지 데이터를 출력합니다. 아래 그림과 같이 패딩 비트(0)가 삽입됩니다.
gpioTool을 사용하여 트리거 신호 구성하기#
gpioTool 명령줄 도구를 사용하여 프레임 그래버에서 수신 또는 송신하는 트리거 신호의 물리적 속성을 구성할 수 있습니다.
gpioTool은 Framegrabber SDK 및 pylon Software Suite에 포함되어 있습니다.
자세한 내용은 gpioTool을 참조하세요.
샘플 코드#
// Select the Acq_SingleCXP12Area applet
camera.GetTLParams().InterfaceApplet.SetValue(Acq_SingleCXP12Area);
// Configure the frame grabber for external triggering
camera.GetTLParams().AreaTriggerMode.SetValue(AreaTriggerMode_External);
camera.GetTLParams().TriggerInSource.SetValue(TriggerInSource_FrontGpiTriggerSource0);
camera.GetTLParams().TriggerCameraOutSelect.SetValue(TriggerCameraOutSelect_BypassFrontGpi0);
camera.GetTLParams().TriggerState.SetValue(TriggerState_Active);
// Configure the frame grabber for internal triggering
camera.GetTLParams().AreaTriggerMode.SetValue(AreaTriggerMode_Generator);
camera.GetTLParams().TriggerOutputFrequency.SetValue(8);
camera.GetTLParams().TriggerCameraOutSelect.SetValue(TriggerCameraOutSelect_PulseGenerator0);
camera.GetTLParams().TriggerState.SetValue(TriggerState_Active);
// Use the external or internal trigger signals for image acquisition
camera.TriggerSelector.SetValue(TriggerSelector_FrameStart);
camera.TriggerMode.SetValue(TriggerMode_On);
camera.ExposureMode.SetValue(ExposureMode_Timed);
camera.TriggerSource.SetValue(TriggerSource_CxpTrigger0);
// Perform debayering on the frame grabber (Bayer RG 12 --> RGB 36 bit)
camera.PixelFormat.SetValue(PixelFormat_BayerRG12);
camera.GetTLParams().AutomaticFormatControl.SetValue(false);
camera.GetTLParams().Format.SetValue(Format_Color36bit);
// Configure the frame grabber to output 16-bit mono image data based on
// 12-bit mono image data from the camera
camera.PixelFormat.SetValue(PixelFormat_Mono12);
camera.GetTLParams().AutomaticFormatControl.SetValue(false);
camera.GetTLParams().Format.SetValue(Format_Gray16bit);
이 예제 코드는 C++ 언어로만 제공됩니다.
pylon Viewer를 사용하여 매개변수를 설정할 수도 있습니다.