标题: openmv颜色阈值识别 [打印本页]

作者: 胆小鬼。    时间: 2025-6-10 17:07
标题: openmv颜色阈值识别
本人是小白,想请问大佬们openmv利用颜色阈值法识别如何能排除白色背景干扰,精准追击白色色块呢?试过用面积大小,色块横纵比限制等辅助识别方法,识别效果都不尽人意。偶尔会出现镜头昏暗的情况,镜头模糊不清,识别不出颜色,应该如何解决呢?如果不使用颜色阈值的方法,有没有其他方法能够精准快速识别白色色块呢?

作者: mxper    时间: 2025-6-11 14:22
调整颜色阈值参数是最直接的方法。OpenMV 使用 LAB 颜色空间,通过调整 L (亮度)、
A (红绿)、B (黄蓝) 三个通道的范围,可以更精确地过滤掉白色背景。

作者: mxper    时间: 2025-6-11 14:22
# 设置颜色阈值,这里以红色物体为例
# (L Min, L Max, A Min, A Max, B Min, B Max)
# 调整L值范围以减少白色背景的影响
red_threshold = (30, 100, 15, 127, 15, 127)  # 较暗的红色物体
# red_threshold = (20, 100, 15, 127, 15, 127)  # 较亮的红色物体

while(True):
    clock.tick()
    img = sensor.snapshot()
   
    # 使用颜色阈值查找色块
    blobs = img.find_blobs([red_threshold], pixels_threshold=200, area_threshold=200)
   
    # 在找到的色块周围绘制矩形
    for blob in blobs:
        img.draw_rectangle(blob.rect())
        img.draw_cross(blob.cx(), blob.cy())
   
    print(clock.fps())




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1