FLIR Lepton Adaptörü

FLIR Lepton Adaptör Modülü, FLIR Lepton termal çekirdeklerini (ayrı satılır) OpenMV Cam’e bağlar; insan / nesne sıcaklığı ölçümü için hem AGC hem de doğrudan termal modlara sahiptir.

FLIR Lepton Adaptörü

Tam veri sayfası, fotoğraflar ve sipariş bilgileri için FLIR Lepton Adaptörü ürün sayfasına bakın.

Öne Çıkanlar

  • FLIR Lepton 1.x / 2.x / 3.x çekirdekleriyle uyumlu (ayrı satılır)

  • Sıcaklık eşlemesiyle hem AGC hem de doğrudan termal modlar

  • Tam karanlıkta görür

  • Tüm modüler OpenMV Cam taban kartlarıyla uyumlu

Kullanım

Lepton’u cid= csi.LEPTON ile csi.CSI üzerinden sürün. Sürücü, Lepton’un 80x60 (1.x/2.x) veya 160x120 (3.x) yerel çerçevesini dahili olarak ayarladığınız herhangi bir framesize değerine yükseltir:

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())

Doğrudan sensörden renklendirilmiş çerçeveler almak için pixformat değerini csi.RGB565 olarak değiştirin ve csi.CSI.color_palette değerini image.PALETTE_IRONBOW olarak ayarlayın — sürücü, paleti uygulanmış RGB565 çerçeveler üretir, böylece snapshot() doğrudan ironbow renkli çerçeveler döndürür:

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

Sıcaklık ölçümü

Radyometrik Lepton’lar (Lepton 2.5 / 3.5) kalibre edilmiş piksel başına sıcaklık verisi raporlar. Ölçüm modunu csi.IOCTL_LEPTON_SET_MODE ile csi.CSI.ioctl üzerinden etkinleştirin, ardından csi.IOCTL_LEPTON_SET_RANGE (min_celsius, max_celsius) ile sıcaklık penceresini sınırlandırın. Lepton sürücüsü, gri tonlama piksel değeri 0’ı min_celsius ile ve 255’i max_celsius ile doğrusal olarak eşler, böylece her piksel yapılandırılmış pencere içinde bir sıcaklık aramasına dönüşür. min_celsius değerinden soğuk pikseller 0’da, max_celsius değerinden sıcak pikseller 255’te doygunluğa ulaşır.

csi.IOCTL_LEPTON_SET_MODE iki bayrak alır. İlki ölçümü açar; ikincisi sensörün sıcaklık aralığını seçer:

  • Düşük aralık(True, False) — sensör aralığı -10 °C ile +140 °C arası (oda ölçekli sahneler). Pencereyi ilgi alanına göre sınırlandırın, örn. vücut ısısı takibi için (20.0, 40.0)

    csi0.ioctl(csi.IOCTL_LEPTON_SET_MODE, True, False)
    csi0.ioctl(csi.IOCTL_LEPTON_SET_RANGE, 20.0, 40.0)
    
  • Yüksek aralık(True, True) — sıcak nesneler için tipik sensör aralığı -10 °C ile ~+450 °C arası (oda sıcaklığında ~+400 °C). Örneğin fırın veya sıcak eleman takibi için (0.0, 400.0) ile sınırlandırın:

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

Bir gri tonlama pikselini tekrar Celsius’a dönüştürmek için:

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

Bu, sıcak/soğuk bölgeleri Image.find_blobs ile bulurken bir ROI içindeki tek pikseller üzerinde veya toplanmış istatistikler (örn. Image.get_statistics kaynaklı stats.mean()) üzerinde çalışır.

Not

Sıcaklık ölçümü, Lepton’un hiçbir renk paleti ayarlanmamış gri tonlama modunda olmasını gerektirir — doğrusal piksel-sıcaklık eşlemesi yalnızca ham gri tonlama çıktısında geçerlidir. Görüntülemek için renklendirmeyi, gri tonlama çerçevesini Image.draw_image ve color_palette= image.PALETTE_IRONBOW ile bir RGB çıkış arabelleğine çizerek ayrıca yapın:

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