颜色抽取:按颜色占比判断¶
框住一块区域,告诉软件"我要哪几种颜色",它把这些颜色的像素挑出来,再看挑中的部分占这个框多大比例(或者多大面积),落在你给的范围里就 PASS。
适合按颜色下判断的活:色块贴没贴、色标对不对、彩色导线有没有接错位、变色指示片有没有变色、彩色印刷区域缺没缺一块。它只看颜色,不看形状、不认字;要判断形状和内容,用固定区域。
前置条件¶
- 检测方案里已经建好标签外框,模板图已完成旋转拉伸。
- 相机取的是彩色图。灰度图上没有颜色可挑。
- 光源稳定。颜色对光照变化非常敏感,灯衰减或换灯之后必须重新确认。
它包含哪些检测框¶
只有一个:"颜色抽取参数"。双击它打开参数窗口,页签"设置"里是全部内容。

新建与画框¶
- 切到"编辑模式"。
- 点工具栏"新建检测项",类型选"颜色抽取",确定。
- 在模板图上框住要判断颜色的区域。框多大直接影响占比 —— 占比 = 挑中的像素数 ÷ 框内总像素数,所以框大一圈,同一个色块的占比就小一截。框定了之后就别再随便改大小,否则阈值要重定。
- 点"训练工程"。
- 双击"颜色抽取参数",点窗口左上角的运行按钮跑一次,再开始调颜色。
参数说明¶
取色算子:"保留"和"去除"¶
颜色不是一条范围就能说清的,所以软件用"取色算子"来拼:
- "保留:" 列表里的算子,各自挑出一段颜色,结果相加。要挑红色和蓝色两种,就建两个保留算子。
- "去除:" 列表里的算子,从上面的结果里减掉。挑红色时顺带挑到了旁边的橙色底,就建一个去除算子把橙色减掉。
| 控件 | 作用 | 说明 |
|---|---|---|
| "保留:"下的"新增" / "删除" | 增删保留算子 | 列表里的数字就是算子编号,点一下选中它,右边的色轮和亮度条就是在改这一个 |
| "去除:"下的"新增" / "删除" | 增删去除算子 | 不需要就一个都不建 |
至少要留一个
保留和去除加起来至少得有一个算子。删到只剩最后一个时会提示"最低需要一个取色算子, 不可以继续删除"。删除前要先在列表里选中一条,否则会提示"先选中保留列表的取色算子再点击删除"。
选中算子后:颜色与亮度¶
| 区域 | 参数 | 含义 | 调参建议 |
|---|---|---|---|
| "颜色参数" | 色轮 | 圆周方向是色相,半径方向是饱和度。拖动扇形的两条边改色相范围,拖内外圈改饱和度范围 | 在色轮上双击要的那种颜色,软件会自动给一段合适的默认范围,再微调最快 |
| "颜色参数" | "H上限" / "H下限" | 色相范围,0~360 度 | 想精确设值时直接在表格里填。红色跨越 0 度,软件会自动处理绕圈的情况 |
| "颜色参数" | "S上限" / "S下限" | 饱和度范围,0~255 | 鲜艳的颜色饱和度高;白、灰、黑饱和度接近 0。要挑白色或黑色,把饱和度下限压到很低,再靠亮度区分 |
| "颜色参数" | "取反" / "不取反" | 取反后挑的是:亮度在设定范围内,但色相和饱和度落在所选范围之外的像素。亮度范围照常生效,只有色相和饱和度被反过来 | 按下变成"不取反"就表示当前是取反状态。要"除了这个颜色以外的都算"时用它,比如挑出所有不是底色的像素 |
| "亮度参数" | "亮度上限" / "亮度下限" | 亮度范围,0~255 | 同一个色相,亮的和暗的要分开时靠它。白 / 灰 / 黑基本只能靠亮度分 |
调的时候看结果图下拉框里的两张图:
- "抽色二值图":挑中的像素是白的,其余是黑的。判断范围对不对看它最准。
- "抽色结果":挑中的像素在原图上覆一层绿。看位置对不对用它。
目标要被完整涂满、边界干净、周围不带杂点,才算调好。
"范围参数":用什么判¶
| 参数 | 含义 | 调参建议 |
|---|---|---|
| "使用比例" | 按占比判,和框的大小无关 | 默认,推荐。框稍微改动一点也不至于全盘重调 |
| "使用面积" | 按挑中的像素个数判 | 只有在"这块色块的绝对大小必须达标"时才用 |
| "百分比下限:" / "百分比上限:" | 选"使用比例"时生效,占比落在两者之间判 PASS | 先跑几件良品看"百分比结果:",取实测值上下留余量。判断"有没有"时,下限给得低一点、上限给 100 即可 |
| "面积下限:" / "面积上限:" | 选"使用面积"时生效,挑中的像素数落在两者之间判 PASS | 看"抽色面积:"的实测值定 |
选了哪一种,另一种的输入框会变灰。
"当前结果"¶
| 显示 | 含义 |
|---|---|
| "百分比结果:" | 本次挑中的像素占框内的百分比 |
| "抽色面积:" | 本次挑中的像素个数 |
两个都是只读,跑一次才有值。定阈值之前先跑,照着实测值定,不要凭空填。
训练与调试¶
- 画好框 → 点"训练工程"。
- 双击"颜色抽取参数",点运行按钮跑一次。
- 在色轮上双击目标颜色,拿到一段默认范围;切到"抽色二值图"看效果。
- 目标没被涂满 → 放宽色相 / 饱和度 / 亮度范围;涂到了不该涂的地方 → 收紧范围,或加一个"去除"算子把杂色减掉。
- 颜色不止一种 → 在"保留:"里"新增"第二个算子,重复第 3、4 步。
- 效果满意后,记下"百分比结果:",用"打开调试文件夹"过一批实拍图,把良品和不良品的百分比都记下来。
- 阈值卡在两堆数之间,填进"百分比下限:"和"百分比上限:"。
- 点"保存工程"。
常见误判与处理¶
| 现象 | 原因 | 处理 |
|---|---|---|
| 二值图里目标缺了一块 | 颜色范围太窄,目标上有明暗渐变或反光 | 放宽"亮度上限"/"亮度下限";必要时再加一个保留算子覆盖亮的那部分 |
| 二值图里挑到了一大片背景 | 范围太宽,或背景和目标色相接近 | 收紧饱和度下限(背景多半比目标灰);加一个去除算子减掉背景色 |
| 换了一批料就全 NG | 新批次颜色有正常色差,超出了设定范围 | 拿新批次的图重新确认范围,适当放宽;必要时重定百分比阈值 |
| 换灯 / 灯衰减之后判定全变 | 颜色随照明改变 | 恢复原照明;确实换了光源就重新调一遍颜色范围和阈值 |
| 白色 / 黑色 / 灰色挑不出来 | 这些颜色没有色相,靠色相选不中 | 把饱和度下限压到接近 0,把色相范围放到全圈,主要靠"亮度上限"/"亮度下限"区分 |
| 红色只挑到一半 | 红色在色轮上跨过 0 度 | 直接在色轮上拖出跨 0 度的扇形,或把 "H下限" 设成大值、"H上限" 设成小值,软件会自动按绕圈处理 |
| 换了框的大小后判定全变 | 占比的分母变了 | 框尺寸定稿后再定阈值;确实要改框,改完重新定阈值 |
| "百分比结果:"一直是 0 | 一个像素都没挑中,或还没跑过 | 点运行按钮跑一次;仍是 0 就大幅放宽颜色范围,从"取反"关掉、色相全圈开始试 |
| 提示输入图片为空 | 这个检测项还没随整套跑过 | 先点"整体运行"或"单模板运行"跑一遍 |