총 183 건
1. 소개 SDK 소개 Spinnaker SDK는 머신 비전 개발자를 위해 구축된 FLIR의 차세대 API라이브러리 입니다. GigE, 10GigE, USB3 Vision 인터페이스만 연결이 가능합니다. Spinnaker SDK 주요 구성 AdapterConfigGUI 네트워크 어댐터 및 카메라 IP설정을 도와주는 툴입니다. SpinView 다수의 카메라 이미지 취득과 제어를 할 수 있는 툴입니다. 지원 환경 2. SDK 환경 설정 라이브러리 참조 방법 ‘프로젝트 속성 > C/C++ > 일반 > 추가 포함 디렉터리’에 라이브러리 include 경로를 추가합니다. 기본 경로: C:\Program Files\FLIR Systems\Spinnaker\include ‘프로젝트 속성 > 링커 > 일반 > 추가 라이브러리 디렉터리’에 라이브러리 lib 경로를 추가합니다. 기본 경로: C:\Program Files\FLIR Systems\Spinnaker\lib64\vs2015 ‘프로젝트 속성 > 링커 > 입력 > 추가 종속성’에 lib 파일을 추가합니다. lib 파일: Spinnakerd_v140.lib(Debug 용) / Spinnaker_v140.lib(Release 용) C# ‘프로젝트 > 참조’에 SpinnakerNET_v140.dll 을 추가합니다. (Debug Mode는 SpinnakerNETd_v140.dll ) 만약, GUI를 사용한다면 SpinnakerNETGUI_v140.dll 을 추가합니다. 기본 경로: C:\Program Files\FLIR Systems\Spinnaker\bin64\vs2015 다음의 네임스페이스를 추가합니다. 3. 예제 코드 설명 공식 예제 코드 및 레퍼런스 메뉴얼 기본 설치 경로에 언어 별 예제 코드가 제공 됩니다. 언어 별 레퍼런스 메뉴얼은 아래 경로에 제공 됩니다. 주요 예제 코드 Acquisition 카메라를 연결/해제하고 이미지 데이터를 취득하는 예제 코드. AcquisitionUserBuffer 카메라를 연결/해제하고 이미지 데이터를 사용자 버퍼로 연결하는 예제 코드. AcquisitionMultipleCameraRecovery 동작 중 카메라 연결이 끊겼을 때 이벤트와 다시 연결하는 방법을 보여주는 예제 코드. ExceptionHandling SDK 예외 처리 방법을 보여주는 예제 코드. Exposure 카메라의 노출 시간을 설정하는 예제 코드. Trigger 카메라를 트리거 모드로 변경하고 이벤트에 따라 이미지 데이터를 취득하는 예제 코드. SpinSimpleGUI_MFC WPF GUI 모듈을 사용하는 예제 코드. 디버그 모드에서는 사용 불가. Spinnaker GUI Spinnaker SDK는 WPF GUI 모듈을 제공합니다. Image Drawing Window Camera Selection Window Property Grid Window 설정 방법 WOF 기반으로 제작된 객체이기 때문에 MFC 프로젝트에서 사용 시 별도의 설정이 필요합니다. MFC InitInstance() 함수에 아래 코드를 삽입 합니다. "프로젝트 속성 > 링커 > 입력 > 추가 종속성"에 아래의 lib 파일을 추가합니다. lib 파일: SpinnakerGUI_WPFd_v140.lib(Debug 용) / SpinnakerGUI_WPF_v140.lib(Release 용) ‘프로젝트 속성 > 링커 > 입력 > 지연 로드된 DLL’에 아래의 dll 파일을 추가합니다. 주의 사항 코드 사용 방법은 SpinSimpleGUI MFC 예제 코드를 참고 합니다. Debug 모드에서 실행하면 액세스 위반 에러 메세지가 발생 합니다. WPF GUI 모듈은 Release 모드로 빌드한 exe 파일을 실행했을 때에만 정상 동작 합니다. 화인스텍 예제 코드 사용자가 쉽게 SDK를 사용할 수 있도록 Wrapping Class를 제공한 예제 코드를 제공 합니다. 예제 코드 이름 : FTech_SpinnakerEx MFC Dialog 기반 솔루션 구성 예제 코드 이름 : FTech_SpinnakerEx LostAndRecovery 카메라 끊김 및 재연결 예제 코드. MultiCamera_Async 최대 4대의 카메라를 연결하는 예제 코드. 카메라의 이미지 획득과 버퍼 획득이 비순차적으로 수행되는 예제 코드. SingleCamera_Sync 1대의 카메라를 연결하는 예제 코드. 카메라의 이미지 획득과 버퍼 획득이 순차적으로 수행되는 예제 코드. LostAndRecovery 카메라를 연결하면 DeviceLostThread가 동작하고, Device Lost 상태를 체크합니다. 만약 Device Lost가 발생하면 카메라 핸들을 해제 (Close) 합니다. 그리고 Re-Open을 N회 시도 합니다. 동작 흐름 MultiCamera_Async 동작 설명 카메라가 이미지를 그랩(Grab)하는 것과 이미지 버퍼를 취득하는 동작이 비동기적(Asynchronous)으로 진행됩니다. 최대 4대의 카메라를 연결할 수 있도록 구현되어 있습니다. OnBnClickedBtnConnection() 함수에 카메라 연결이 구현되어 있습니다. SetEnableImageCallback(true)를 호출하여 카메라 객체의 이미지 콜백을 활성화합니다. 카메라 객체는 가장 마지막 버퍼를 보관하고 있습니다. 이미지 그랩 여부는 m_grabDone 핸들로 확인합니다. 카메라 연결 후 Main Dialog에서 DisplayThread를 구동합니다. "Bayer To color" 버튼의 체크 여부에 따라 Mono(Bayer8) 또는 RGB24 영상이 그려집니다. Color Conversion이 필요한 경우 체크합니다. SingleCamera Sync 동작 설명 카메라가 이미지를 그랩(Grab)하는 것과 이미지 버퍼를 취득하는 동작이 동기적(Synchronous)으로 진행됩니다. 1대의 카메라를 연결할 수 있도록 구현되어 있습니다. OnBnClickedBtnConnection() 함수에 카메라 연결이 구현되어 있습니다. SetEnableImageCallback(false)를 호출합니다. 이미지 콜백을 사용하지 않는 설정입니다. Start() 후 Grab() 함수를 호출하여 타임아웃 시간 내에 버퍼를 취득합니다. Acquisition Start인 Start() 함수를 호출합니다. Software Trigger Mode라면 트리거 이벤트인 TriggerSoftware를 호출합니다. Color Conversion이 필요한 경우 ColorConversion() 함수를 호출합니다.
2022.10.241. UserSet Load & Save 사용 방법 Features -> 카메라 모델명 -> User Set Control를 선택합니다. UserSet 사용 방법 UserSetSelector : Load & Save 에 사용 할 영역을 설정합니다. UserSetLoad : 지정된 영역의 데이터를 불러옵니다. UserSetSave : 현재 설정값을 지정한 영역에 저장합니다. UserSetDefaultSelector : 전원 인가 시 Load 할 영역을 설정합니다.
2022.10.241. Burst Trigger Mode 설명 Trigger 1회를 이용하여, N회의 Image를 Capture 하는 방식 Image 취득 개수는 AcqusitionBurstFrameCount 파라미터로 결정 되며, 최대 255까지 설정 가능 Frame 취득 속도는 Acqusition Frame Rate에 의해 결정 2. Burst Trigger Mode 설정 Control Window에서 "Features"를 선택합니다. Burst를 검색합니다. Acquisition Brust Frame Count를 설정하여 Trigger 당 이미지 취득회수를 설정 합니다. (1~255) Trigger Selector를 "Frame Burst Start"로 선택합니다. 3. Trigger Mode 설정 Control Window 에서 " Features"를 선택합니다. Trigger를 검색합니다 "TriggerMode"를 On으로 설정 합니다 "Trigger Source"를 "Software" 혹은 "Line0"으로 설정 합니다.
2022.10.241.사용 방법 - 파일로 저장하는 방법 Features Window에서 파라미터 변경 후 User Set에 저장합니다. User Set Selector: 저장할 공간 User Set Save: 저장 실행 User Set Default: 카메라 재부팅 시 기본으로 불러오는 항목 File Access Window에서 저장 할 User Set을 선택한 후, "Download"를 클릭하여 파일로 저장합니다. 해당 파일은 확장자가 없습니다. 2.사용 방법 - 파일을 불러오는 방법 File Access Window에서 저장할 User Set을 선택하고 ,"upload"를 클릭하여 파일을 불러옵니다. Features Window에서 위에 지정한 User Set을 선택한 후 User Set Load "Execute"를 클릭하여 파라미터를 불러옵니다.
2022.10.241. Node 확인 방법 Device Control Window에서 "Freatures"를 클릭 합니다. 확인하고자 하는 Parameter 명을 기재한 뒤 을 클릭하여 검색을 진행 합니다. Parameter 명을 더블 클릭 합니다. Node Information Window에서 정보를 확인 합니다. 2. 코드 적용 예시 - 값 확인 Access Mode의 값을 확인 합니다 RW : Read/Write, RO : Read Only Node Name 을 확인 합니다. Node Type을 확인합니다. Camera Handle의 NodeMap으로 접근 합니다. Type에 알맞은 형태를 선언하여 해당 Node로 접근 합니다 값을 확인 합니다. 3. 코드 적용 예시 - 적용 Access Mode의 값을 확인 합니다 RW : Read/Write, RO : Read Only Node Name 을 확인 합니다. Node Type을 확인합니다. Camera Handel의 NodeMap에 접근 합니다. Type에 알맞은 형태를 선언하여 해당 Node로 접근 합니다. 값을 적용 합니다. 4. String 형태의 Entry 값 확인 방법 Access Mode의 값을 확인 합니다 RW: Read/Write Node Name을 확인합니다. TriggerOverlap Node Type을 확인 합니다 Enumeration Node Value를 확인 합니다. Off /ReadOut
2022.10.211. Auto White Balance 사용 방법 평평한 흰색 타겟 (Ex: A4용지, 조명 디퓨져)를 카메라 FOV에 들어오도록 합니다. 렌즈는 초점이 맞지 않도록 디포커싱 합니다. Analog Caontrol -> Balance White Auto를 Once로 변경 합니다. 2. Color Algorithm 설정 방법 SpinView Image 영역에서 우 클릭 합니다. Color-Processing Methods를 클릭 합니다. 원하는 Color Algorithm을 선택 합니다.
2022.10.211.Pixel Format 변경하기 Control Window에서 "Features"를 선택 합니다. Pixel Format을 검색 합니다. "Pixel Format"을 "Polarized8"로 설정 합니다. 2. Polarized Algorithm 선택하기 Display Window 영역에서 마우스 우 클릭을 합니다. "Polarization" 하위 메뉴를 통해 Algorithm을 선택 합니다. Off : Polarized 기능을 사용하지 않습니다. Quad : 각도 별 이미지를 분할하여 취득 합니다. Glare Reduction : 난반사 억제 이미지를 취득 합니다. DoLP : 픽셀의 편광의 비율을 이미지화 하여 취득 합니다. AoLP : 픽셀의 평균 평광 각도를 이미지화 하여 취득 합니다. Scaled DoLP : DoLP 이미지(1.25Mega)를 5Mega 해상도로 취득합니다. Scaled AoLP : AoLP 이미지(1.25Mega)를 5Mega 해상도로 취득합니다. Stroke’s Parameters : 무편광, 부분편광, 완전편광 세 이미지를 이미지화 하여 취득 합니다. 3. HeatMap 활성화 하기 HeatMap을 사용하여 각도 데이터를 시각화 하여 표현할 수 있습니다. Display Window 우 클릭을 진행 합니다. "Enable HeatMap"을 선택하여 HeatMap을 활성화 합니다. Display Window 우 클릭을 진행 합니다. "Configure Heatmap Gradient"를 선택하여 HeatMap 설정을 합니다. 색상과 Range를 조절하여 이미지의 형상을 조절 합니다.
2022.10.211.핀맵 구성 하기 이미지를 참조하여 I/O를 구성 합니다. 파라미터 설정 GPIO -> Line Selector 에서 Strobe에 사용 하려는 Pin를 선택 합니다. 주의사항 : Output으로 사용 가능한 지 확인합니다. GPIO -> Line Source 에서 출력하려는 신호를 선택 합니다.
2022.10.21Trigger Mode 설정 방법 SpinView의 GPIO Window에서 Trigger Mode 설정이 가능합니다. Software Trigger Mode Trigger Mode: On Trigger Source: Software Trigger Software: ExecuteHardware HardWare Trigger Mode Trigger Mode: On Trigger Source: Line 0 / 2 / 3 Advanced Trigger Mode Trigger Mode: On Trigger Source: User Output / Counter / Logic Block Free Run ModeTrigger Mode: Off ※ Readout 기간 중 Trigger 신호를 받을 경우, Trigger Overlap을 Read Out으로 설정합니다.
2022.10.211. Auto 파라미터 해제 방법 Control Window에서 "Feature"를 선택 합니다. Auto를 검색 합니다. "Exposure Auto"를 Off로 설정합니다. "Gain Auto"를 Off로 설정 합니다. "Target Grey Value Auto"를 Off로 설정합니다. "Balance White Auto"를 Off로 설정합니다.(Bayer Camera 전용)
2022.10.21