FLIR Lepton Adapter

Module FLIR Lepton Adapter kết nối lõi nhiệt FLIR Lepton (bán riêng) với OpenMV Cam, với cả chế độ AGC và nhiệt trực tiếp để đo nhiệt độ người / vật thể.

FLIR Lepton Adapter

Để xem datasheet đầy đủ, hình ảnh và đặt hàng, hãy truy cập trang sản phẩm FLIR Lepton Adapter.

Điểm nổi bật

  • Tương thích với lõi FLIR Lepton 1.x / 2.x / 3.x (bán riêng)

  • Cả chế độ AGC và nhiệt trực tiếp với ánh xạ nhiệt độ

  • Nhìn thấy trong bóng tối hoàn toàn

  • Tương thích với tất cả các bo mạch nền OpenMV Cam dạng module

Cách sử dụng

Điều khiển Lepton thông qua csi.CSI với cid= csi.LEPTON. Driver nội bộ tự động phóng to khung hình gốc 80x60 (1.x/2.x) hoặc 160x120 (3.x) của Lepton lên bất kỳ framesize nào bạn đặt:

import csi
import time

csi0 = csi.CSI(cid=csi.LEPTON)
csi0.reset()
csi0.pixformat(csi.GRAYSCALE)
csi0.framesize(csi.QVGA)
clock = time.clock()

while True:
    clock.tick()
    img = csi0.snapshot()
    print(clock.fps())

Để nhận khung hình có màu sắc trực tiếp từ cảm biến, chuyển pixformat sang csi.RGB565 và đặt csi.CSI.color_palette thành image.PALETTE_IRONBOW — driver phát ra khung hình RGB565 đã áp dụng bảng màu, vì vậy snapshot() trả về khung hình có màu ironbow trực tiếp:

csi0.pixformat(csi.RGB565)
csi0.color_palette(image.PALETTE_IRONBOW)

Đo nhiệt độ

Lepton bức xạ nhiệt (Lepton 2.5 / 3.5) báo cáo dữ liệu nhiệt độ theo từng điểm ảnh đã hiệu chỉnh. Bật chế độ đo lường thông qua csi.CSI.ioctl với csi.IOCTL_LEPTON_SET_MODE, sau đó giới hạn cửa sổ nhiệt độ bằng csi.IOCTL_LEPTON_SET_RANGE (min_celsius, max_celsius). Driver Lepton ánh xạ tuyến tính giá trị điểm ảnh thang xám 0 tới min_celsius và 255 tới max_celsius, do đó mỗi điểm ảnh trở thành tra cứu nhiệt độ trong cửa sổ đã cấu hình. Các điểm ảnh lạnh hơn min_celsius bão hòa tại 0, các điểm ảnh nóng hơn max_celsius bão hòa tại 255.

csi.IOCTL_LEPTON_SET_MODE nhận hai cờ. Cờ đầu tiên bật đo lường; cờ thứ hai chọn dải nhiệt độ của cảm biến:

  • Dải thấp(True, False) — dải cảm biến -10 °C đến +140 °C (cảnh trong phòng). Giới hạn cửa sổ theo vùng quan tâm, ví dụ (20.0, 40.0) để theo dõi nhiệt cơ thể:

    csi0.ioctl(csi.IOCTL_LEPTON_SET_MODE, True, False)
    csi0.ioctl(csi.IOCTL_LEPTON_SET_RANGE, 20.0, 40.0)
    
  • Dải cao(True, True) — dải cảm biến -10 °C đến ~+450 °C thông thường (~+400 °C ở nhiệt độ phòng) cho các vật thể nóng. Giới hạn đến ví dụ (0.0, 400.0) để theo dõi lò nung hoặc phần tử nóng:

    csi0.ioctl(csi.IOCTL_LEPTON_SET_MODE, True, True)
    csi0.ioctl(csi.IOCTL_LEPTON_SET_RANGE, 0.0, 400.0)
    

Để chuyển đổi điểm ảnh thang xám về độ Celsius:

def p_to_temp(p, min_t, max_t):
    return (p * (max_t - min_t)) / 255.0 + min_t

Tính năng này hoạt động trên từng điểm ảnh riêng lẻ hoặc trên các thống kê tổng hợp (ví dụ stats.mean() từ Image.get_statistics) bên trong ROI khi xác định vùng nóng/lạnh bằng Image.find_blobs.

Ghi chú

Đo nhiệt độ yêu cầu Lepton ở chế độ thang xám mà không có bảng màu nào được đặt — ánh xạ tuyến tính từ điểm ảnh sang nhiệt độ chỉ áp dụng cho đầu ra thang xám thô. Để tô màu để hiển thị, hãy thực hiện riêng bằng cách vẽ khung hình thang xám lên bộ đệm đầu ra RGB với Image.draw_imagecolor_palette= image.PALETTE_IRONBOW

out = image.Image(csi0.width(), csi0.height(), image.RGB565)
out.draw_image(img, 0, 0, color_palette=image.PALETTE_IRONBOW)