OpenMV自动采集颜色阈值方法设置

方法一:定义函数,将收集到的lab颜色阈值放在同一个列表里

1.定义一个名为 collect_threshold 的函数,该函数用于收集一系列颜色阈值。以下是代码的详细分析:

def collect_threshold(num_iterations):

定义了一个名为 collect_threshold 的函数,它接受一个参数 num_iterations,表示要采集的阈值的次数。
2. 初始化阈值列表:

apple_thresholds = []

初始化一个空列表 apple_thresholds,用于存储每次迭代中收集的阈值。
3. 循环采集:

for i in range(num_iterations):

使用循环进行 num_iterations 次迭代,每次迭代中执行以下操作:
4. 开启和关闭LED指示灯:

LED_Collect.on()              #采集指示灯
time.sleep_ms(100)
LED_Collect.off()
time.sleep_ms(100)

首先开启 LED_Collect(可能是一个用于指示正在采集的指示灯)。然后等待100毫秒。接着关闭指示灯,再等待100毫秒。这可能是为了给用户或系统一个明确的指示,表明正在进行数据采集。
5. 获取图像:

img = sensor.snapshot()

使用 sensor.snapshot() 获取一张图像的快照

### OpenMV颜色识别阈值整 在OpenMV环境中,为了实现高效的颜色识别并获得理想的检测效果,需要合理设定颜色阈值。这通常涉及到定义一个范围来区分目标颜色和其他背景颜色[^1]。 对于颜色识别而言,在OpenMV IDE内编写脚本时可以利用`sensor.RGB565()`模式获取图像数据,并通过`sensor.get_rgb_thresholds()`函数读取默认阈值或自定义一组新的RGB色彩空间下的阈值用于后续处理过程。然而更常见的是采用LAB颜色模型来进行阈值的选择,因为其对光照变化更加鲁棒。具体操作上会创建一个列表形式的变量存储最低限(Lmin, Amin, Bmin)以及最高限(Lmax, Amix, Bmax),这两个三元组分别代表了所要追踪物体颜色区间的上下边界[^2]。 当希望动态整这些参数以便找到最佳匹配时,可以在程序运行期间使用滑动条界面让使用者交互式地改变数值直到满意为止。下面给出了一段Python代码作为例子展示怎样构建这样的实时节机制: ```python import sensor, image, time # 初始化摄像头传感器 sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) # 设置窗口大小和位置 sensor.skip_frames(time=2000) clock = time.clock() # 定义初始阈值 (L Min, L Max, A Min, A Max, B Min, B Max) thresholds = [(30, 100, 15, 127, 15, 127)] while(True): clock.tick() # 跟踪帧率 img = sensor.snapshot().mean_pooled(4, 4) # 获取图片并缩小尺寸加快速度 blobs = img.find_blobs(thresholds, pixels_threshold=100, area_threshold=100) for b in blobs: img.draw_rectangle(b.rect()) img.draw_cross(b.cx(), b.cy()) print(clock.fps()) # 打印当前帧速率到串口监视器 ``` 上述代码片段展示了如何初始化相机模块、配置基本参数并将捕获的画面转换成适合显示的形式;更重要的是它实现了基于预设好的阈值数组去查找符合条件的目标区域(即色块),并对它们绘制矩形框标记出来便于观察。值得注意的是这里的`thresholds`就是用来保存用户想要跟踪对象对应颜色区间的信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长空有风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值