* 강좌 목차
[Python/FLIR] Spinnaker SDK, PySpin 설치 가이드
· FLIR Spinnaker SDK 설치 및 실행(Windows, Ubuntu)
[Python/FLIR] PySpin Node 사용법
· 노드의 개념, 타입, 사용법 설명, spinview에서 노드 정보 확인
[Python/FLIR] PySpin 카메라 스트리밍 기본
· Pyspin 사용하여 카메라 Connect 및 Grab 해보기
[Python/FLIR] PySpin카메라에서 온도값 가져오기(1)
· Nodemap으로 pixelformat 변경, IRFormat 변경하기
[Python/FLIR] PySpin 카메라에서 온도값 가져오기(2)
· TemperatureLinear(10K, 100K)으로 온도값 가져오기
[Python/FLIR] PySpin 카메라에서 온도값 가져오기(3)
· Radiometric 으로 온도값 가져오기
[Python/FLIR] PySpin 온도 데이터 팔레트 적용
· 온도값 팔레트 이미지 만들어보기
[Python/FLIR] PySpin 카메라 제어(1)
· QueryCase를 사용한 측정 온도 범위 변경 예제
[Python/FLIR] PySpin 카메라 제어(2)
· FPS변경 및 NUC Excute 예제
Python으로 Spinnaker SDK를 활용해 FLIR A Series 카메라를 제어하는 방법을 배워보세요.
본 강좌에서는 FLIR의 공식 예제를 기반으로 하여 PySpin을 사용한 Temperature Linear(100K, 10K)
모드 설정, 온도값 확인 및 섭씨 변환, 그리고 데이터를 이미지로 변환하는 과정을 다룹니다.
특히 Spinnaker SDK를 활용한 온도 데이터 처리에 관심 있는 분들에게 유용한 정보가 될 것입니다.
1. Temperature Linear 모드 설정
raw_data를 온도 데이터로 변환하여 ROI에 대한 값과 Max, Min값 등 유의미한 값을 확인할 수 있습니다.
1-1. Pixel Format을 16bit로 설정합니다.
Pixel Format은 스트리밍 하면 변경할 수 없습니다.
PySpin카메라에서 온도값 가져오기(1) 강을 참고하여 Mono16 비트로 설정합니다.

안녕하세요. 따뜻한 봄날, 꽃들이 피어나고 기온도 점점 올라가고 있습니다.
이렇게 날씨가 변하는 걸 보니 온도라는 것이 우리 일상에서 얼마나 중요한 요소인지 새삼 느껴지네요.
오늘은 Spinnaker SDK를 활용해 FLIR A Series 카메라에서 온도 데이터를 가져오는 방법을 알아보겠습니다.
특히 PySpin을 사용해 Temperature Linear 모드를 설정하고 온도를 섭씨로 변환하며
이를 이미지 형태로 표현하는 과정까지 살펴볼 예정입니다.
함께 배워보면서 더욱 유용한 데이터 활용법을 익혀보아요!
* 강좌 목차
[Python/FLIR] Spinnaker SDK, PySpin 설치 가이드
· FLIR Spinnaker SDK 설치 및 실행(Windows, Ubuntu)
[Python/FLIR] PySpin Node 사용법
· 노드의 개념, 타입, 사용법 설명, spinview에서 노드 정보 확인
[Python/FLIR] PySpin 카메라 스트리밍 기본
· Pyspin 사용하여 카메라 Connect 및 Grab 해보기
[Python/FLIR] PySpin카메라에서 온도값 가져오기(1)
· Nodemap으로 pixelformat 변경, IRFormat 변경하기
[Python/FLIR] PySpin 카메라에서 온도값 가져오기(2)
· TemperatureLinear(10K, 100K)으로 온도값 가져오기
[Python/FLIR] PySpin 카메라에서 온도값 가져오기(3)
· Radiometric 으로 온도값 가져오기
[Python/FLIR] PySpin 온도 데이터 팔레트 적용
· 온도값 팔레트 이미지 만들어보기
[Python/FLIR] PySpin 카메라 제어(1)
· QueryCase를 사용한 측정 온도 범위 변경 예제
[Python/FLIR] PySpin 카메라 제어(2)
· FPS변경 및 NUC Excute 예제
Python으로 Spinnaker SDK를 활용해 FLIR A Series 카메라를 제어하는 방법을 배워보세요.
본 강좌에서는 FLIR의 공식 예제를 기반으로 하여 PySpin을 사용한 Temperature Linear(100K, 10K)
모드 설정, 온도값 확인 및 섭씨 변환, 그리고 데이터를 이미지로 변환하는 과정을 다룹니다.
특히 Spinnaker SDK를 활용한 온도 데이터 처리에 관심 있는 분들에게 유용한 정보가 될 것입니다.
1. Temperature Linear 모드 설정
raw_data를 온도 데이터로 변환하여 ROI에 대한 값과 Max, Min값 등 유의미한 값을 확인할 수 있습니다.
1-1. Pixel Format을 16bit로 설정합니다.
Pixel Format은 스트리밍 하면 변경할 수 없습니다.
PySpin카메라에서 온도값 가져오기(1) 강을 참고하여 Mono16 비트로 설정합니다.
1-2. IR Format을 TemperatureLinear으로 맞추어 줍니다.
IR Format을 변경하게 되면, 이미지를 grab(GetNextImage)하는 raw_data가 선택한 모드에 따라 들어오게 됩니다.
IR Format은 스트리밍 중에도 변경이 가능합니다.
하지만, 스트리밍 중 모드가 변경되면 raw_data 후처리를 변경한 모드에 따라 변경해주어야 합니다.
PySpin카메라에서 온도값 가져오기(1) 강을 참고하여 IRFormat node를 TemperatureLinear 모드로 설정합니다.
1) TemperatureLinear 10K
2) TemperatureLinear 100K
2. 온도값 확인 및 섭씨 변환
TemperatureLinear 모드 변경 후, 들어오는 raw data 해상도의 각 픽셀은kelvin 단위의 온도값 입니다.
10K와 100K는 각 픽셀에 맞게 일정한 값을 곱해주고, kelvin을 Celsius값으로 변경이 필요합니다.
1) TemperatureLinear 10K
TemperatureLinear 10K는 측정된 값을 섭씨 온도로 변환할 때, 기존 데이터에 0.01을 곱한 후 -273.15를 빼주는 방식으로 처리됩니다.
TemperatureLinear 10K raw_data
TemperatureLinear 10K 섭씨 변환 공식
Celsius_data = (image_data * 0.01) - 273.15
2) TemperatureLinear 100K
TemperatureLinear 100K는 측정된 값을 섭씨 온도로 변환할 때, 기존 데이터에 0.1을 곱한 후 -273.15를 빼주는 방식으로 처리됩니다.
TemperatureLinear 100K raw_data
TemperatureLinear 100K 섭씨 변환 공식
위의 과정이 끝난 후, 모든 픽셀 데이터를 Celsius data로 얻을 수 있습니다.
최종 Celsius 데이터
3. 온도값 이미지 시각화
raw_data로부터 이미지를 시각화하여 상대적인 온도 분포를 눈으로 확인할 수 있습니다.
Temperature Linear모드로 들어오는 rawdata는 16bit의 0 ~ 66535 사이의 값입니다.
이미지 표현 범위인 0~255로 변경하기 위하여 정규화를 진행합니다.
1) 정규화를 하기 위하여 raw_data를 섭씨로 바꾼 데이터의 최댓값과 최솟값을 구해줍니다.
max 값 : max_temperature = np.max(Celsius_data)
min 값 : min_temperature = np.min(Celsius_data)
2) Celsius_data와 max값, min값을 사용해 정규화를 진행합니다.(정규화 시 cv2.normalize 함수를 사용해도 무관합니다.)
# 온도 데이터를 0 ~ 255 범위로 정규화
# 정규화는 0~1 범위로 매핑되고, 255를 곱해서 표현 범위(0~255)로 확장
temp_to_img = 255 * (Celsius_int - min_temperature) / (max_temperature - min_temperature)
# float -> int8 변환
output_image = temp_to_img.astype(np.uint8)
# 단일 채널(1채널) -> 3채널로 변경
output_image = cv2.cvtColor(output_image, cv2.COLOR_GRAY2BGR)
최종 ouput_image
이렇게 해서 Spinnaker SDK를 활용해 FLIR A Series 카메라에서 온도 데이터를 가져오고
이를 섭씨로 변환한 후 이미지로 시각화하는 과정까지 살펴보았습니다.
Temperature Linear 모드를 적절히 설정하면 보다 정밀한 온도 측정이 가능하며
데이터를 이미지 형태로 변환하면 시각적으로 쉽게 분석할 수 있습니다.
다음 강좌에서는 더욱 효율적인 데이터 활용법과 추가적인 기능을 다룰 예정이니 많은 관심 부탁드립니다.
궁금한 점이 있거나 더 알고 싶은 내용이 있다면 아래 문의 바로가기로 남겨주세요!
감사합니다😊