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 các lõi FLIR Lepton 1.x / 2.x / 3.x / UW (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. Trình điều khiển tự phóng to khung hình gốc 80x60 (1.x/2.x) hoặc 160x120 (3.x/UW) 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 độ#

Các Lepton đo bức xạ (Lepton 2.5 / 3.1R / 3.5 / UW) báo cáo dữ liệu nhiệt độ từng điểm ảnh đã hiệu chuẩn. Bật chế độ đo thông qua csi.CSI.ioctl với csi.IOCTL_LEPTON_SET_MODE, rồi giới hạn cửa sổ nhiệt độ bằng csi.IOCTL_LEPTON_SET_RANGE (min_celsius, max_celsius). Trình điều khiển 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, nên mỗi điểm ảnh trở thành một phép 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 ở 0, các điểm ảnh nóng hơn max_celsius bão hòa ở 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_image và color_palette= image.PALETTE_IRONBOW

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