跳转至

颜色抽取:按颜色占比判断

框住一块区域,告诉软件"我要哪几种颜色",它把这些颜色的像素挑出来,再看挑中的部分占这个框多大比例(或者多大面积),落在你给的范围里就 PASS。

适合按颜色下判断的活:色块贴没贴、色标对不对、彩色导线有没有接错位、变色指示片有没有变色、彩色印刷区域缺没缺一块。它只看颜色,不看形状、不认字;要判断形状和内容,用固定区域。

前置条件

  • 检测方案里已经建好标签外框,模板图已完成旋转拉伸。
  • 相机取的是彩色图。灰度图上没有颜色可挑。
  • 光源稳定。颜色对光照变化非常敏感,灯衰减或换灯之后必须重新确认。

它包含哪些检测框

只有一个:"颜色抽取参数"。双击它打开参数窗口,页签"设置"里是全部内容。

颜色抽取"设置"页

新建与画框

  1. 切到"编辑模式"。
  2. 点工具栏"新建检测项",类型选"颜色抽取",确定。
  3. 在模板图上框住要判断颜色的区域。框多大直接影响占比 —— 占比 = 挑中的像素数 ÷ 框内总像素数,所以框大一圈,同一个色块的占比就小一截。框定了之后就别再随便改大小,否则阈值要重定。
  4. 点"训练工程"。
  5. 双击"颜色抽取参数",点窗口左上角的运行按钮跑一次,再开始调颜色。

参数说明

取色算子:"保留"和"去除"

颜色不是一条范围就能说清的,所以软件用"取色算子"来拼:

  • "保留:" 列表里的算子,各自挑出一段颜色,结果相加。要挑红色和蓝色两种,就建两个保留算子。
  • "去除:" 列表里的算子,从上面的结果里减掉。挑红色时顺带挑到了旁边的橙色底,就建一个去除算子把橙色减掉。
控件 作用 说明
"保留:"下的"新增" / "删除" 增删保留算子 列表里的数字就是算子编号,点一下选中它,右边的色轮和亮度条就是在改这一个
"去除:"下的"新增" / "删除" 增删去除算子 不需要就一个都不建

至少要留一个

保留和去除加起来至少得有一个算子。删到只剩最后一个时会提示"最低需要一个取色算子, 不可以继续删除"。删除前要先在列表里选中一条,否则会提示"先选中保留列表的取色算子再点击删除"。

选中算子后:颜色与亮度

区域 参数 含义 调参建议
"颜色参数" 色轮 圆周方向是色相,半径方向是饱和度。拖动扇形的两条边改色相范围,拖内外圈改饱和度范围 在色轮上双击要的那种颜色,软件会自动给一段合适的默认范围,再微调最快
"颜色参数" "H上限" / "H下限" 色相范围,0~360 度 想精确设值时直接在表格里填。红色跨越 0 度,软件会自动处理绕圈的情况
"颜色参数" "S上限" / "S下限" 饱和度范围,0~255 鲜艳的颜色饱和度高;白、灰、黑饱和度接近 0。要挑白色或黑色,把饱和度下限压到很低,再靠亮度区分
"颜色参数" "取反" / "不取反" 取反后挑的是:亮度在设定范围内,但色相和饱和度落在所选范围之外的像素。亮度范围照常生效,只有色相和饱和度被反过来 按下变成"不取反"就表示当前是取反状态。要"除了这个颜色以外的都算"时用它,比如挑出所有不是底色的像素
"亮度参数" "亮度上限" / "亮度下限" 亮度范围,0~255 同一个色相,亮的和暗的要分开时靠它。白 / 灰 / 黑基本只能靠亮度分

调的时候看结果图下拉框里的两张图:

  • "抽色二值图":挑中的像素是白的,其余是黑的。判断范围对不对看它最准。
  • "抽色结果":挑中的像素在原图上覆一层绿。看位置对不对用它。

目标要被完整涂满、边界干净、周围不带杂点,才算调好。

"范围参数":用什么判

参数 含义 调参建议
"使用比例" 按占比判,和框的大小无关 默认,推荐。框稍微改动一点也不至于全盘重调
"使用面积" 按挑中的像素个数判 只有在"这块色块的绝对大小必须达标"时才用
"百分比下限:" / "百分比上限:" 选"使用比例"时生效,占比落在两者之间判 PASS 先跑几件良品看"百分比结果:",取实测值上下留余量。判断"有没有"时,下限给得低一点、上限给 100 即可
"面积下限:" / "面积上限:" 选"使用面积"时生效,挑中的像素数落在两者之间判 PASS 看"抽色面积:"的实测值定

选了哪一种,另一种的输入框会变灰。

"当前结果"

显示 含义
"百分比结果:" 本次挑中的像素占框内的百分比
"抽色面积:" 本次挑中的像素个数

两个都是只读,跑一次才有值。定阈值之前先跑,照着实测值定,不要凭空填。

训练与调试

  1. 画好框 → 点"训练工程"。
  2. 双击"颜色抽取参数",点运行按钮跑一次。
  3. 在色轮上双击目标颜色,拿到一段默认范围;切到"抽色二值图"看效果。
  4. 目标没被涂满 → 放宽色相 / 饱和度 / 亮度范围;涂到了不该涂的地方 → 收紧范围,或加一个"去除"算子把杂色减掉。
  5. 颜色不止一种 → 在"保留:"里"新增"第二个算子,重复第 3、4 步。
  6. 效果满意后,记下"百分比结果:",用"打开调试文件夹"过一批实拍图,把良品和不良品的百分比都记下来。
  7. 阈值卡在两堆数之间,填进"百分比下限:"和"百分比上限:"。
  8. 点"保存工程"。

常见误判与处理

现象 原因 处理
二值图里目标缺了一块 颜色范围太窄,目标上有明暗渐变或反光 放宽"亮度上限"/"亮度下限";必要时再加一个保留算子覆盖亮的那部分
二值图里挑到了一大片背景 范围太宽,或背景和目标色相接近 收紧饱和度下限(背景多半比目标灰);加一个去除算子减掉背景色
换了一批料就全 NG 新批次颜色有正常色差,超出了设定范围 拿新批次的图重新确认范围,适当放宽;必要时重定百分比阈值
换灯 / 灯衰减之后判定全变 颜色随照明改变 恢复原照明;确实换了光源就重新调一遍颜色范围和阈值
白色 / 黑色 / 灰色挑不出来 这些颜色没有色相,靠色相选不中 把饱和度下限压到接近 0,把色相范围放到全圈,主要靠"亮度上限"/"亮度下限"区分
红色只挑到一半 红色在色轮上跨过 0 度 直接在色轮上拖出跨 0 度的扇形,或把 "H下限" 设成大值、"H上限" 设成小值,软件会自动按绕圈处理
换了框的大小后判定全变 占比的分母变了 框尺寸定稿后再定阈值;确实要改框,改完重新定阈值
"百分比结果:"一直是 0 一个像素都没挑中,或还没跑过 点运行按钮跑一次;仍是 0 就大幅放宽颜色范围,从"取反"关掉、色相全圈开始试
提示输入图片为空 这个检测项还没随整套跑过 先点"整体运行"或"单模板运行"跑一遍

相关页面