例程讲解10-Color-Tracking->ir_beacon_grayscale_trackingIR灰度跟踪

# IR灰度跟踪示例
#
# 这个例子展示了使用OpenMV Cam进行红外信标灰度跟踪。

import sensor, image, time

thresholds = (255, 255) # IR红外图像中明亮的白光的阈值。

sensor.reset()
#初始化摄像头,reset()是sensor模块里面的函数

sensor.set_pixformat(sensor.GRAYSCALE)
#设置图像色彩格式,有RGB565色彩图和GRAYSCALE灰度图两种

sensor.set_framesize(sensor.VGA)
#设置图像像素大小

sensor.set_windowing((240, 240)) # VGA中心240x240像素
sensor.skip_frames(time = 2000)
sensor.set_auto_gain(False) # 颜色跟踪必须关闭自动增益
sensor.set_auto_whitebal(False) # 颜色跟踪必须关闭白平衡
clock = time.clock()

# 只有比“pixel_threshold”多的像素和多于“area_threshold”的区域才被
# 下面的“find_blobs”返回。 如果更改相机分辨率,
# 请更改“pixels_threshold”和“area_threshold”。 “merge = True”合并图像中所有重叠的色块。

while(True):
    clock.tick()
    img = sensor.snapshot()
    for blob in img.find_blobs([thresholds], pixels_threshold=200, area_threshold=200, merge=True):
        ratio = blob.w() / blob.h()
        if (ratio >= 0.5) and (ratio <= 1.5): # 过滤掉非方形的色块
            img.draw_rectangle(blob.rect())
            img.draw_cross(blob.cx(), blob.cy())
    print(clock.fps())

星瞳科技OpenMV官方中文文档函数讲解:

results matching ""

    No results matching ""