ルーチン説明 27-Lepton-> lepton_target_temp_hotspot_rgb565_color_tracking 目標温度ホットスポットカラートラッキング

# 单颜色RGB565彩色色块跟踪示例
#
# 此示例展示了如何使用单颜色RGB565彩色色块跟踪获取对象的温度。

# 通过关闭AGC并设置最大和最小温度范围,您可以将Lepton变成一个很棒的传感器,用于查看特定温度的物体。
# 也就是说,FLIR Lepton是一种微物体温度测量仪,而不是热成像。
# 因此,它需要经常重新校准(称为平场校正 -  FFC)。
# 另外,微物体温度测量仪装置需要板载处理支持以处理温度漂移的影响,这被称为辐射测量支持。

# FLIR Lepton快门注意事项:带有辐射测量和快门的FLIR Leptons会在加热重新校准时经常暂停视频。
# 随着传感器温度的稳定,这种情况会越来越少发生。
# 如果通过Lepton API,您可以强制重新校准。
# 但是,建议不要这样做,因为图像会随着时间的推移而降低。

# 如果您使用的是Lepton 3.5以外的LEPTON,则此脚本可能无法正常工作,
# 因为其他Lepton没有辐射测量支持,或者它们不经常激活校准过程来处理温度变化(FLIR 2.5)。



import sensor, image, time, math

# 颜色跟踪阈值(灰度最小值,灰度最大值)
threshold_list = [( 70, 100,  -30,   40,   20,  100)]

# 在这里设置目标温度范围
min_temp_in_celsius = 20
max_temp_in_celsius = 32

print("Resetting Lepton...")
# 这些设置应用于重置
sensor.reset()
sensor.ioctl(sensor.IOCTL_LEPTON_SET_MEASUREMENT_MODE, True)
sensor.ioctl(sensor.IOCTL_LEPTON_SET_MEASUREMENT_RANGE, min_temp_in_celsius, max_temp_in_celsius)
print("Lepton Res (%dx%d)" % (sensor.ioctl(sensor.IOCTL_LEPTON_GET_WIDTH),
                              sensor.ioctl(sensor.IOCTL_LEPTON_GET_HEIGHT)))
print("Radiometry Available: " + ("Yes" if sensor.ioctl(sensor.IOCTL_LEPTON_GET_RADIOMETRY) else "No"))
# 让调色板变酷
sensor.set_color_palette(sensor.PALETTE_IRONBOW)

sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QQVGA)
sensor.skip_frames(time=5000)
clock = time.clock()

# 只有像素数大于“pixel_threshold”且面积大于“area_threshold”的blob才会被下面的“find_blobs”返回。
# 如果更改相机分辨率,请更改“pixels_threshold”和“area_threshold”。
# “merge = True”合并图像中的所有重叠blob。


while(True):
    clock.tick()
    img = sensor.snapshot()
    for blob in img.find_blobs(threshold_list, pixels_threshold=200, area_threshold=200, merge=True):
        img.draw_rectangle(blob.rect())
        img.draw_cross(blob.cx(), blob.cy())
    print("FPS %f - Lepton Temp: %f C" % (clock.fps(), sensor.ioctl(sensor.IOCTL_LEPTON_GET_FPA_TEMPERATURE)))

results matching ""

    No results matching ""