# Initialize the thermal sensor fir.init() # FPS clock clock = time.clock() while (True): clock.tick() # Capture an image image = sensor.snapshot() # Capture FIR data # ta: Ambient temperature # ir: Object temperatures (IR array) # to_min: Minimum object temperature # to_max: Maximum object temperature ta, ir, to_min, to_max = fir.read_ir() # Scale the image and belnd it with the framebuffer fir.draw_ir(image, ir) # Draw ambient, min and max temperatures. image.draw_string(0, 0, "Ta: %0.2f"%ta, color = (0xFF, 0x00, 0x00)) image.draw_string(0, 8, "To min: %0.2f"%to_min, color = (0xFF, 0x00, 0x00)) image.draw_string(0, 16, "To max: %0.2f"%to_max, color = (0xFF, 0x00, 0x00)) # Print FPS. print(clock.fps())
# Capture an image img = sensor.snapshot() # Capture FIR data # ta: Ambient temperature # ir: Object temperatures (IR array) # to_min: Minimum object temperature # to_max: Maximum object temperature try: ta, ir, to_min, to_max = fir.read_ir() except OSError: continue if not ALT_OVERLAY: # Scale the image and belnd it with the framebuffer fir.draw_ir(img, ir, hint=drawing_hint) else: # Create a secondary image and then blend into the frame buffer. extra_fb.clear() fir.draw_ir(extra_fb, ir, alpha=256, hint=drawing_hint) img.blend(extra_fb, alpha=128) # Draw ambient, min and max temperatures. img.draw_string(8, 0, "Ta: %0.2f C" % ta, color=(255, 0, 0), mono_space=False) img.draw_string(8, 8, "To min: %0.2f C" % to_min,
while (True): clock.tick() # Capture an image img = sensor.snapshot() # Capture FIR data # ta: Ambient temperature # ir: Object temperatures (IR array) # to_min: Minimum object temperature # to_max: Maximum object temperature ta, ir, to_min, to_max = fir.read_ir() if not ALT_OVERLAY: # Scale the image and belnd it with the framebuffer fir.draw_ir(img, ir) else: # Create a secondary image and then blend into the frame buffer. extra_fb.clear() fir.draw_ir(extra_fb, ir, alpha=256) img.blend(extra_fb, alpha=128) # Draw ambient, min and max temperatures. img.draw_string(8, 0, "Ta: %0.2f C" % ta, color = (255, 0, 0), mono_space = False) img.draw_string(8, 8, "To min: %0.2f C" % to_min, color = (255, 0, 0), mono_space = False) img.draw_string(8, 16, "To max: %0.2f C"% to_max, color = (255, 0, 0), mono_space = False) # Force high quality streaming... img.compress(quality=90) # Print FPS.
# FPS clock clock = time.clock() while (True): clock.tick() # Capture an image image = sensor.snapshot() # Capture FIR data # ta: Ambient temperature # ir: Object temperatures (IR array) # to_min: Minimum object temperature # to_max: Maximum object temperature ta, ir, to_min, to_max = fir.read_ir() # Scale the image and belnd it with the framebuffer fir.draw_ir(image, ir) # Draw ambient, min and max temperatures. image.draw_string(0, 0, "Ta: %0.2f" % ta, color=(0xFF, 0x00, 0x00)) image.draw_string(0, 8, "To min: %0.2f" % to_min, color=(0xFF, 0x00, 0x00)) image.draw_string(0, 16, "To max: %0.2f" % to_max, color=(0xFF, 0x00, 0x00)) # Print FPS. print(clock.fps())
while (True): clock.tick() # Capture an image img = sensor.snapshot() # Capture FIR data # ta: Ambient temperature # ir: Object temperatures (IR array) # to_min: Minimum object temperature # to_max: Maximum object temperature ta, ir, to_min, to_max = fir.read_ir() if not ALT_OVERLAY: # Scale the image and belnd it with the framebuffer fir.draw_ir(img, ir) else: # Create a secondary image and then blend into the frame buffer. extra_fb.clear() fir.draw_ir(extra_fb, ir, alpha=256) img.blend(extra_fb, alpha=128) # Draw ambient, min and max temperatures. img.draw_string(8, 0, "Ta: %0.2f C" % ta, color = (255, 0, 0), mono_space = False) img.draw_string(8, 8, "To min: %0.2f C" % to_min, color = (255, 0, 0), mono_space = False) img.draw_string(8, 16, "To max: %0.2f C"% to_max, color = (255, 0, 0), mono_space = False) # Force high quality streaming... img.compress(quality=90) # Print FPS.
"Auto algorithms done. Hold the object you want to track in front of the camera in the box." ) print( "MAKE SURE THE COLOR OF THE OBJECT YOU WANT TO TRACK IS FULLY ENCLOSED BY THE BOX!" ) for i in range(60): img = sensor.snapshot() img.draw_rectangle(r) print("Learning thresholds...") threshold = [50, 50, 0, 0, 0, 0] # Middle L, A, B values. for i in range(learn_count): img = sensor.snapshot() ta, ir, to_min, to_max = fir.read_ir() fir.draw_ir(img, ir, alpha=256, scale=fir_scale) hist = img.get_histogram(roi=r) lo = hist.get_percentile( 0.01 ) # Get the CDF of the histogram at the 1% range (ADJUST AS NECESSARY)! hi = hist.get_percentile( 0.99 ) # Get the CDF of the histogram at the 99% range (ADJUST AS NECESSARY)! # Average in percentile values. threshold[0] = (threshold[0] + lo.l_value()) // 2 threshold[1] = (threshold[1] + hi.l_value()) // 2 threshold[2] = (threshold[2] + lo.a_value()) // 2 threshold[3] = (threshold[3] + hi.a_value()) // 2 threshold[4] = (threshold[4] + lo.b_value()) // 2 threshold[5] = (threshold[5] + hi.b_value()) // 2
clock.tick() # Capture an image img = sensor.snapshot() # Capture FIR data # ta: Ambient temperature # ir: Object temperatures (IR array) # to_min: Minimum object temperature # to_max: Maximum object temperature ta, ir, to_min, to_max = fir.read_ir() # Create a secondary image and then blend into the frame buffer. # Convert FIR data to a grayscale image and scale fir.draw_ir(ir_buffer, ir, alpha=256) # Smooth the scaled image ir_buffer.mean(IR_SCALE - 1) # Convert the grayscale FIR image to color using a palette and combine with camera image img.draw_image(ir_buffer, 0, 0, x_scale=x_scale, y_scale=y_scale, alpha=128, color_palette=sensor.PALETTE_IRONBOW) # Draw ambient, min and max temperatures. img.draw_string(8,