OpenMV颜色阈值设置

这篇具有很好参考价值的文章主要介绍了OpenMV颜色阈值设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

OpenMV提供了两者阈值设置方案。分别是阈值编译器和直方图的方式选择阈值。

阈值编译器:优点,所寻找到的目标颜色更加合理,其他相似颜色区域的干扰比较小。缺点,调节LAB的最大最小值比较花费时间。

直立方图恰好相反,他很容易找到LAB的最大最小值的大体区间,但是容易收到相似颜色区域的干扰。所以,建议两者配合使用,先用直立方图找到LAB的最大最小值的大体区间,再利用阈值编译器对LAB的最大最小值进行微调。

首先我们使用直立方图:

打开OpenMV IDE软件——>右下角有一个直立方图——>颜色识别中,只需要用到LAB色彩空间。

OpenMV颜色阈值设置

我们要选择绿茶作为目标对象,只需要在帧缓冲区,拖动鼠标左键即可。根据直方图可知,我们的L最大值选择75,最小值为30。A最大值为0,最小值为-70。B的最大值为70,最小值为-10。(注:这个只需要包含绝大部分就行)

OpenMV颜色阈值设置

之后进行阈值编译器设置: 

左上方工具——>机器视觉——>阈值编译器——>帧缓冲区。可对要判断图像的LAB值进行调整。注意:这个时候OpenMV会截取当前的图片作为LAB值调整。所以我们采用阈值编译器的时候,需要提前将目标识别单位放在OpenMV摄像头之前。再进行如上操作

OpenMV颜色阈值设置

OpenMV颜色阈值设置

根据直立方图的值,我们调整LAB最大和最小值,尽可能的让要目标识别对象变成全白色。(注:即使没有全部变成白色也不影响,反正最后会把所有没有被滤除的白色区域变成一个大框)然后复制下方的LAB阈值。OpenMV颜色阈值设置

将复制的LAB阈值放到thresholds中。注意:我们看到thresholds有多个值,其实是因为我们在for语句中是使用的[thresholds[threshold_index]],而threshold_index为0,也就是说,先择我们在识别红色。因为我们的threshold_index=0,所以我们复制的阈值要求放在thresholds第一个位置(# generic_red_thresholds前)。如果threshold_index=1,我们复制的阈值要求放在thresholds第二个位置(# generic_green_thresholds前)。threshold_index=2,同理放在第三个位置。

threshold_index = 0 # 0 for red, 1 for green, 2 for blue
thresholds = [(30, 100, 15, 127, 15, 127), # generic_red_thresholds
              (30, 100, -64, -8, -32, 32), # generic_green_thresholds
              (0, 30, 0, 64, -128, 0)] # generic_blue_thresholds

.....(中间的代码省略)

for blob in img.find_blobs([thresholds[threshold_index]], pixels_threshold=200, area_threshold=200, merge=True):

但是OpenMV的官方教程我们能看到他的代码是这样的,其实是一样的。只不过这里的LAB阈值不需要注意这么多。直接更改green_threshold后面的值即可。文章来源地址https://www.toymoban.com/news/detail-446299.html

green_threshold   = (   0,   80,  -70,   -10,   -0,   30)

.....(中间的代码省略)

blobs = img.find_blobs([green_threshold])

到了这里,关于OpenMV颜色阈值设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包