FLIR Lepton adapter

Modul FLIR Lepton Adapter povezuje toplinske jezgre FLIR Lepton (prodaju se zasebno) s OpenMV Cam uređajem, s AGC i izravnim toplinskim načinom rada za mjerenje temperature ljudi / objekata.

FLIR Lepton adapter

Za potpun podatkovni list, fotografije i naručivanje pogledajte stranicu proizvoda FLIR Lepton Adapter.

Istaknuto

  • Kompatibilno s jezgrama FLIR Lepton 1.x / 2.x / 3.x (prodaju se zasebno)

  • AGC i izravni toplinski način rada s mapiranjem temperature

  • Vidi u potpunom mraku

  • Kompatibilno sa svim modularnim osnovnim pločama OpenMV Cam

Upotreba

Upravljajte Leptonom putem csi.CSI uz cid= csi.LEPTON. Upravljački program interno povećava izvornu sličicu Leptona od 80x60 (1.x/2.x) ili 160x120 (3.x) na bilo koju framesize vrijednost koju postavite:

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

Da biste dobili obojene sličice izravno iz senzora, prebacite pixformat na csi.RGB565 i postavite csi.CSI.color_palette na image.PALETTE_IRONBOW — upravljački program emitira RGB565 sličice s primijenjenom paletom, pa snapshot() izravno vraća sličice obojene ironbow paletom:

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

Mjerenje temperature

Radiometrijski Leptoni (Lepton 2.5 / 3.5) izvještavaju o kalibriranim podacima o temperaturi po pikselu. Omogućite način mjerenja putem csi.CSI.ioctl uz csi.IOCTL_LEPTON_SET_MODE, a zatim ograničite temperaturni prozor pomoću csi.IOCTL_LEPTON_SET_RANGE (min_celsius, max_celsius). Lepton upravljački program linearno mapira vrijednost piksela u sivim tonovima 0 na min_celsius i 255 na max_celsius, pa svaki piksel postaje pretraga temperature unutar konfiguriranog prozora. Pikseli hladniji od min_celsius zasićuju se na 0, pikseli topliji od max_celsius zasićuju se na 255.

csi.IOCTL_LEPTON_SET_MODE prima dva zastavice. Prva uključuje mjerenje; druga odabire temperaturni raspon senzora:

  • Niski raspon(True, False) — raspon senzora -10 °C do +140 °C (scene veličine prostorije). Ograničite prozor na područje interesa, npr. (20.0, 40.0) za praćenje topline tijela:

    csi0.ioctl(csi.IOCTL_LEPTON_SET_MODE, True, False)
    csi0.ioctl(csi.IOCTL_LEPTON_SET_RANGE, 20.0, 40.0)
    
  • Visoki raspon(True, True) — raspon senzora -10 °C do tipično ~+450 °C (~+400 °C na sobnoj temperaturi) za vruće objekte. Ograničite na npr. (0.0, 400.0) za praćenje peći ili vrućih elemenata:

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

Za pretvaranje piksela u sivim tonovima natrag u Celzijuse:

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

Ovo radi na pojedinačnim pikselima ili na agregiranim statistikama (npr. stats.mean() iz Image.get_statistics) unutar ROI-ja prilikom lociranja toplih/hladnih područja pomoću Image.find_blobs.

Napomena

Mjerenje temperature zahtijeva Lepton u načinu sivih tonova bez postavljene palete boja — linearno mapiranje piksela u temperaturu vrijedi samo na sirovom izlazu u sivim tonovima. Za bojenje pri prikazu, učinite to zasebno crtanjem sličice u sivim tonovima na RGB izlazni međuspremnik pomoću Image.draw_image i 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)