Explication de routine 12-Thermopile-Shield->MLX90621_overlay carte d'extension d'imagerie thermique
# MLX90621叠加演示
#
# 此示例显示如何将热图叠加到OpenMV Cam的主摄像头实时视频输出上。
import sensor, image, time, fir
ALT_OVERLAY = False # 设置为True以分配第二个ir图像。
sensor.reset()
#初始化摄像头,reset()是sensor模块里面的函数
sensor.set_pixformat(sensor.RGB565)
#设置图像色彩格式,有RGB565色彩图和GRAYSCALE灰度图两种
sensor.set_framesize(sensor.QQVGA)
#设置图像像素大小
sensor.skip_frames(time = 2000)
# 初始化热传感器
fir.init(type=fir.FIR_MLX90621)
# 分配另一个帧缓冲区以获得更流畅的视频。
extra_fb = sensor.alloc_extra_fb(sensor.width(), sensor.height(), sensor.RGB565)
# FPS clock
clock = time.clock()
while (True):
clock.tick()
# Capture an image
img = sensor.snapshot()
# 捕获FIR数据
# ta: 环境温度
# ir: 物体温度(IR阵列)
# to_min: 最低物体温度
# to_max: 最高物体温度
ta, ir, to_min, to_max = fir.read_ir()
if not ALT_OVERLAY:
# 缩放图像并使用帧缓冲区进行贴图
fir.draw_ir(img, ir)
else:
# 创建一个次映像,然后混合到帧缓冲区。
extra_fb.clear()
fir.draw_ir(extra_fb, ir, alpha=256)
img.blend(extra_fb, alpha=128)
# 绘制环境温度,最小和最高温度。
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)
# F强制高质量流媒体...
img.compress(quality=90)
# Print FPS.
print(clock.fps())
Explication officielle de la fonction du document chinois OpenMV de Singtown Technology :