Thermal
Supported on:RVC2
Pipeline
Source code
Python
C++
Python
PythonGitHub
1import depthai as dai
2import cv2
3
4THERMAL_IMAGE_BRIGHTNESS_STEP = 10
5
6with dai.Pipeline(True) as pipeline:
7 thermal = pipeline.create(dai.node.Thermal)
8 thermalImgOut = thermal.color.createOutputQueue()
9 thermalConfIn = thermal.inputConfig.createInputQueue()
10 thermalConf = dai.ThermalConfig()
11
12 pipeline.start()
13 WINDOW_NAME = "thermal"
14 cv2.namedWindow(WINDOW_NAME, cv2.WINDOW_NORMAL)
15 initialRescaleDone = False
16 while True:
17 thermalImg = thermalImgOut.get()
18 if not initialRescaleDone:
19 cv2.resizeWindow(WINDOW_NAME, thermalImg.getWidth(), thermalImg.getHeight())
20 initialRescaleDone = True
21 cv2.imshow(WINDOW_NAME, thermalImg.getCvFrame())
22 key = cv2.waitKey(1)
23 changed = False
24 if key == ord("q"):
25 break
26 elif key == ord("n"):
27 if thermalConf.imageParams.brightnessLevel is None:
28 thermalConf.imageParams.brightnessLevel = THERMAL_IMAGE_BRIGHTNESS_STEP
29 if (
30 thermalConf.imageParams.brightnessLevel - THERMAL_IMAGE_BRIGHTNESS_STEP
31 ) <= THERMAL_IMAGE_BRIGHTNESS_STEP:
32 thermalConf.imageParams.brightnessLevel = THERMAL_IMAGE_BRIGHTNESS_STEP
33 thermalConf.imageParams.brightnessLevel -= THERMAL_IMAGE_BRIGHTNESS_STEP
34 print(
35 "Set image brightness level to ",
36 thermalConf.imageParams.brightnessLevel,
37 )
38 changed = True
39 elif key == ord("m"):
40 if thermalConf.imageParams.brightnessLevel is None:
41 thermalConf.imageParams.brightnessLevel = 0
42 if (
43 thermalConf.imageParams.brightnessLevel + THERMAL_IMAGE_BRIGHTNESS_STEP
44 ) >= 255:
45 thermalConf.imageParams.brightnessLevel = (
46 255 - THERMAL_IMAGE_BRIGHTNESS_STEP
47 )
48 thermalConf.imageParams.brightnessLevel += THERMAL_IMAGE_BRIGHTNESS_STEP
49 print(
50 "Set image brightness level to ",
51 thermalConf.imageParams.brightnessLevel,
52 )
53 changed = True
54 elif key == ord("a"):
55 if thermalConf.ffcParams.autoFFC is None:
56 thermalConf.ffcParams.autoFFC = True
57 thermalConf.ffcParams.autoFFC = not thermalConf.ffcParams.autoFFC
58 print(
59 "Set auto shutter to",
60 "on." if thermalConf.ffcParams.autoFFC else "off.",
61 )
62 changed = True
63 elif key == ord("s"):
64 if thermalConf.ffcParams.closeManualShutter is None:
65 thermalConf.ffcParams.closeManualShutter = False
66 thermalConf.ffcParams.closeManualShutter = (
67 not thermalConf.ffcParams.closeManualShutter
68 )
69 print(
70 "Closing" if thermalConf.ffcParams.closeManualShutter else "Opening",
71 "manual shutter.",
72 )
73 changed = True
74
75 if changed:
76 thermalConfIn.send(thermalConf)Need assistance?
Head over to Discussion Forum for technical support or any other questions you might have.