固定区域:检查固定位置的印刷内容¶
固定区域用来看一块内容永远不变的地方印得对不对:LOGO、图标、认证标志、固定文字块、固定图案。它拿模板图上的这块内容当标准答案,逐像素和当前这件比,差得太多就报缺陷。
内容每件都不一样(流水号、日期)的地方不能用它,要用可变区域。
前置条件¶
- 检测方案里已经有标签外框,并且已经训练过。
- 主模板图上这块内容是良品、清晰。
它包含哪些检测框¶
固定区域下面有一个检测框,里面固定挂三个:
| 检测框 | 干什么 | 默认 |
|---|---|---|
| 搜索参数 | 规定这块内容允许在多大范围内漂移,软件就在这个扩大后的范围里去找它 | 开 |
| 定位参数 | 在搜索范围里,按形状把这块内容精确找出来 | 开 |
| 缺陷参数 | 把找到的图和模板图对比,判有没有印刷缺陷 | 开 |
搜索参数和定位参数是这个检测项自己的局部定位,和标签外框的整图定位是两级(见标签外框)。
另外可以在树里选中这个检测项右键,再加两种框:
- 添加细节检测框:在这块区域里再圈一小块,单独数轮廓数量。适合"这里必须有 3 个孔""这个小标记不能少"这类点数的活。
- 添加屏蔽内容检测框:圈出的地方缺陷参数不查。用来放过允许变化的小角落。
要让标签外框的空白区域检测放过某一块,不在这里加框:打开"标签外框"检测项的"空白区域"参数窗口,到"区域"页往"屏蔽区域"表里加。
新建与画框¶
- 点工具栏"新建检测项",类型选"固定区域",确定。
- 模板图左上角出现一个绿框,拖到刚好框住那块固定内容。
- 框要贴着内容,不要留大片空白——空白多了,真实缺陷占的面积比例就变小,容易漏检。
- 也别切到内容,切一半会被当成缺陷。
- 按 Ctrl+T"训练工程",再点"单模板运行"看效果。
白底还是黑底
画完框先打开"缺陷参数",在"预处理"里把"白底黑字"勾对:白底黑字就勾上,黑底白字就不勾。弄反了缺陷检测基本没法用。

参数说明¶
搜索参数¶
| 参数 | 含义 | 调参建议 |
|---|---|---|
| 横向偏移容忍绝对值 | 允许这块内容相对模板往左右各漂多少像素 | 默认 30,也就是左右各 15 像素。贴标位置抖动大就加大;加大后会变慢,而且容易在附近找到长得像的东西 |
| 纵向偏移容忍绝对值 | 上下方向同上 | 同上 |
| 横向锁定 / 纵向锁定 | 勾上后,批量改参数时不动这一项 | 一般不用 |
调的时候把右边图片下拉框切到"输出图片",能直接看到扩张后实际送去搜索的那块图。
定位参数¶
这一页是按轮廓形状去找目标,和标签外框勾了"使用模板匹配定位"时是同一套。
匹配方法:"形状匹配"只允许转动;"多尺度形状匹配"还允许放大缩小。相机到产品距离固定就选前者,更快。产品每次放置远近/高度略有不同(画面大小差约 1%~3%)、长文字行右端出现成片误报时,选"多尺度形状匹配":定位会量出这一件的比例,后面的比对按这个比例缩回再比。默认缩放范围 0.97~1.03,够覆盖 ±3% 的放置差;范围别放太宽,整张印大/印小本身是缺陷,范围太宽会被补偿掉。多尺度建模比形状匹配慢。多尺度形状匹配下"亚像素"不起作用。
训练参数(改完必须点"训练"):
| 参数 | 含义 | 调参建议 |
|---|---|---|
| 起始角度 / 最大角度 | 允许目标转多大角度 | 范围越大越慢。标签外框已经把整体转正了,这里给 -5 到 5 通常够用 |
| 角度步长 | 每次转多少度去试。勾"自动角度步长"让软件定 | 保持勾选 |
| 最小缩放 / 最大缩放 / 缩放步长 | 只在"多尺度形状匹配"下起作用,可输两位小数 | 默认 0.97 / 1.03;距离固定就别动。最小等于最大时按"形状匹配"处理,最小大于最大会提示重填 |
| 金字塔层数 | 先在缩小的图上粗找再精找,勾"自动金字塔层数"让软件定 | 目标很小、老是找不到时,手动调小 |
| 最小组件尺寸 | 比这个小的零碎轮廓不当特征 | 图案周围有噪点时往上调 |
| 最小对比度 | 明暗差小于这个值的边不要,勾"自动最小对比度"让软件定 | 打光暗、边缘发灰时手动调小 |
| 特征优化 | "自动"只挑一部分特征点(快);"全部特征点"全用(准但慢) | 先用"自动",找不稳再换 |
| 低阈值 / 高阈值 | 提取边缘的两个门槛,越大越只保留反差大的边。勾"自动低阈值""自动高阈值"让软件定 | 保持勾选;手动时低阈值必须小于高阈值 |
| 匹配度量 | "考虑极性"要求黑白关系和模板一致,两个"忽略极性"允许反色 | 同款标签固定用"考虑极性" |
查找参数(改完不用重新训练):
| 参数 | 含义 | 调参建议 |
|---|---|---|
| 分数阈值 | 相似度要达到多少才算找到,0~1 | 默认 0.5。找错位置就往上调到 0.7~0.8;正常品时不时找不到就往下调 |
| 贪心度 | 搜索"见好就收"的程度,越大越快也越容易漏 | 默认 0.9,定位偶发失败时降到 0.5~0.7 |
| 亚像素 | 定位精度算到像素以内 | 缺陷检测对对齐要求高时可以开,稍慢 |
"匹配结果"一栏显示本次找到的位置和相似度。定位一旦失败,缺陷检测就不用看了,先把这里调稳。
缺陷参数 —— 预处理¶
| 参数 | 含义 | 调参建议 |
|---|---|---|
| 白底黑字(勾选框;不勾 = 黑底白字) | 告诉软件这块图哪边是内容、哪边是底 | 按实际勾。弄反了缺陷位置会整个跑偏 |
缺陷参数 —— 图像对齐¶
对比之前,软件要先把当前图和模板图严丝合缝地叠在一起。这一组管的就是"怎么叠"。
| 参数 | 含义 | 调参建议 |
|---|---|---|
| 迭代优化 | 叠好之后再反复微调几次,把残余的错位磨掉 | 默认开着。关掉会快一点,但边缘更容易假报缺陷 |
| 启用透视矫正 | 除平移旋转外,还允许"近大远小"的倾斜变形 | 平贴产品别开;明显斜面上的内容才开 |
| 自动选择适配算法 | 让软件自己在几种找对应点的算法里挑(勾选 = 是) | 建议不勾。挑选过程很费时间,只有手动怎么选都对不齐时才勾上 |
| 关键点检测类型 | 用哪种特征来对齐:texture1、texture2、texture3、edge。从左到右越来越慢 | 默认从 texture1 开始试;纹理少、只有清晰边框的内容用 edge 效果好;自动选择时置灰,由软件决定 |
| 边缘拉伸尺度 | 对齐时把边缘看得多重。值越大,边缘附近越容易被当成"本来就会差一点"而放过 | 默认 1。字符边缘老是假报缺陷,就往上调到 1.5~2;调太大会把真实的缺角也放过 |
| 边缘增强 | 配合上一项,给边缘再加一个固定量 | 默认 0,一般不动 |
缺陷参数 —— 缺陷定义¶
这一组决定"差多少才算缺陷"。软件把差异分成两类:比模板亮的(常见于缺墨、划白、漏印)和比模板暗的(常见于脏污、重影、多墨)。两类各有自己的两个门槛,一处差异要同时过掉灰度门槛和面积门槛才算缺陷。
| 参数 | 含义 | 调参建议 |
|---|---|---|
| 更亮灰度差值 | 比模板亮多少才算可疑,0~255 | 默认 30。漏检缺墨就调小(20 左右),打光波动大导致误报就调大(40~60) |
| 更暗灰度差值 | 比模板暗多少才算可疑 | 默认 30,调法同上 |
| 更亮缺陷面积 | 一处"更亮"的可疑区域要有多少像素才判缺陷 | 默认 20。误报小白点就调大;要抓细小缺墨就调小。这是最常调的一个 |
| 更暗缺陷面积 | 一处"更暗"的可疑区域要有多少像素才判缺陷 | 默认 20,调法同上 |
| 缺陷最小高度 | 缺陷的高度要大于这个值 | 默认 3。横向细划痕会被它挡掉,要抓就调到 1 |
| 缺陷最小宽度 | 缺陷的宽度要大于这个值 | 默认 3,同上 |
只调一边
大部分现场只关心一类缺陷。比如只怕缺墨,就把"更暗灰度差值"调到很大(比如 200)把暗缺陷整个放掉,专心调"更亮"那两项,干扰会少很多。
细节检测框¶
右键"添加细节检测框"加出来的框,双击它打开:
| 参数 | 含义 | 调参建议 |
|---|---|---|
| 曝光补偿 | 先把这一小块提亮多少再数轮廓 | 内容偏暗、数不出轮廓时往上调 |
| 二值化阈值类型 | "自动"让软件按这块图自己定分界线;"固定"用你给的数 | 打光稳定就用"固定",结果更可复现;明暗变化大用"自动" |
| 固定阈值参数 | 选"固定"时用的那个分界灰度值,0~255 | 在结果图上把鼠标放到内容和底上,读两边的通道值,取中间 |
| 参考轮廓数量 | 模板图上数出来多少个轮廓,只读 | 训练后自动填。如果它和你肉眼数的对不上,先调上面两项 |
| 当前轮廓数量 | 这一件数出来多少个,只读 | 运行后看它和参考值一不一样,不一样就判缺陷 |
训练与调试¶
- 每次挪框、换模板图、改定位参数之后,都要"训练工程"(Ctrl+T)。只改缺陷参数可以不训练。
- 在树里选中这个检测项右键"运行此检测项",只跑这一个,调参最快。
- 打开"缺陷参数",顶部有"设置""图形""结果""运行结果"四页:
- 到"图形"页勾选想看的中间结果,再回到右边图片下拉框里选。
- 参考图片是标准答案,当前对齐图片是这一件叠正之后的样子。两张来回切,如果内容错位明显,问题在对齐,不在缺陷门槛。
- 更亮差异和更暗差异是最有用的两张:把鼠标移到某个点上,图左上角会显示这个点和模板差了多少。用这个数来定"更亮灰度差值"和"更暗灰度差值",比瞎试快得多。
- 缺陷结果图片是最终判定,红框就是报出来的缺陷。
- 一个可行的调法:先把两个"灰度差值"设成正常品里读到的最大差异再加 10,然后用"缺陷面积"滤掉零星小点。
常见误判与处理¶
| 现象 | 原因 | 调哪里 |
|---|---|---|
| 正常品整块报红 | 底色判反了 | "缺陷参数 → 预处理"勾上或取消"白底黑字"(不勾 = 黑底白字) |
| 缺陷框密密麻麻贴在字符和图案边缘 | 对齐有微小误差 | 开"迭代优化";把"边缘拉伸尺度"从 1 调到 1.5~2 |
| 整体偏亮或偏暗就报一片缺陷 | 打光或曝光变了 | 先查光源和相机曝光;短期可把两个"灰度差值"调大,但这会降低灵敏度 |
| 定位老是失败(结果直接 NG) | 搜索范围不够,或分数阈值太高 | 加大"横向偏移容忍绝对值"和"纵向偏移容忍绝对值";把"分数阈值"往下调;把"贪心度"往下调 |
| 定位定到旁边一个长得像的图案上 | 分数阈值太低,搜索范围太大 | 把"分数阈值"调到 0.7 以上;收小搜索范围 |
| 细小缺墨漏检 | 面积门槛太高,或最小高宽挡住了 | 调小"更亮缺陷面积";把"缺陷最小高度""缺陷最小宽度"调到 1 |
| 允许变动的小角落每次都报 | 这块本来就会变 | 右键"添加屏蔽内容检测框",圈住它 |
| 跑得慢 | 搜索范围太大,或"自动选择适配算法"勾着;老工程的"定位参数"里没勾"自动金字塔层数""自动角度步长"(旧默认是固定 4 层、0.01°) | 收小搜索范围;取消勾选"自动选择适配算法";"关键点检测类型"从 edge 换回 texture1;"定位参数"里勾上"自动金字塔层数""自动角度步长"后重新训练(新建的工程默认就勾着) |