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.
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 °Cdo+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 °Cdo tipično~+450 °C(~+400 °Cna 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)