OpenMV颜色阈值设置

简介: OpenMV颜色阈值设置

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


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


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


首先我们使用直立方图:


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


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

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

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


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

将复制的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后面的值即可。

green_threshold   = (   0,   80,  -70,   -10,   -0,   30)
.....(中间的代码省略)
blobs = img.find_blobs([green_threshold])
目录
相关文章
简单好用的图片取色器【可取RGB数值】
这篇文章介绍了如何使用Snipaste工具进行截图和取色,包括按下快捷键F1截图、选择图片区域、移动鼠标取色以及复制颜色值的步骤,并提供了操作界面的截图。
VS2019显示器颜色调整成护眼模式的颜色
工具 -> 选项 -> 环境 -> 字体和颜色,显示项为“纯文本”,设置项背景色:色调=85,饱和度=123,亮度=205,或者 rgb为199,238,206
|
Ubuntu
USB摄像头设置采集亮度和对比度
USB摄像头设置采集亮度和对比度
363 0
USB摄像头设置采集亮度和对比度
|
XML 数据格式
【opencv3】滑动条调节RGB颜色阈值并输出滑动条的值
【opencv3】滑动条调节RGB颜色阈值并输出滑动条的值
|
JavaScript
问题解决:百分比宽度页面缩放会变形
问题解决:百分比宽度页面缩放会变形
223 1
问题解决:百分比宽度页面缩放会变形
OpenMV学习笔记(3) 获取图像的颜色信息
在图像识别中,如果想知道一个区域的颜色信息,我们可以使用统计信息——Statistics
201 0
|
算法 编译器 Python
CV7 颜色追踪和图像阈值
因为在HSV中比在BGR颜色空间中更容易表示颜色,所以我们需要将BGR图像转换成HSV,用来提取一个有颜色的对象
149 0
|
传感器 API 芯片
Flir Blackfly S工业相机:颜色校正讲解及配置与代码设置方法
- 介绍 Blackfly S相机使用的色彩校正矩阵(CCM,color correction matrix) - 并展示了如何计算出自定义的CCM。 - 通过代码进行颜色校正和自定义CCM配置
Flir Blackfly S工业相机:颜色校正讲解及配置与代码设置方法
Echarts图表x轴y轴刻度值过长时显示不全(超过一千显示...k)
Echarts图表x轴y轴刻度值过长时显示不全(超过一千显示...k)
1121 0
Echarts图表x轴y轴刻度值过长时显示不全(超过一千显示...k)
|
Windows
【OpenGL】二十二、OpenGL 光照效果 ( 模型准备 | 光照设置 | 启用光照 | 启用光源 | 设置光源位置 | 设置光照参数 | 设置环境光 | 设置反射材质 | 设置法线 )(二)
【OpenGL】二十二、OpenGL 光照效果 ( 模型准备 | 光照设置 | 启用光照 | 启用光源 | 设置光源位置 | 设置光照参数 | 设置环境光 | 设置反射材质 | 设置法线 )(二)
241 0
【OpenGL】二十二、OpenGL 光照效果 ( 模型准备 | 光照设置 | 启用光照 | 启用光源 | 设置光源位置 | 设置光照参数 | 设置环境光 | 设置反射材质 | 设置法线 )(二)