打光→拍照→图像预处理→算法检测→输出结果→对接 PLC

第一步:打光(整个视觉项目最关键)
做什么
选光源类型、调摆放角度、调亮度,把产品拍成最合适算法处理的画面。
核心目的
压住反光
消除阴影
让缺陷和背景明暗区分开
不受车间环境灯光、自然光干扰
实操做法
平面字符 / 普通外观 → 环形光垂直打
边缘毛刺 / 凹凸划痕 → 条形光低角度斜打
镜面金属 / 玻璃 → 同轴光、加偏振镜
尺寸测量 / 轮廓 → 背光源从底下打
一句话总结
算法好不好,七分靠打光,三分靠代码。光打好了,后面算法特别简单;光打废了,神仙算法也救不回来。
第二步:拍照(图像采集)
做什么
工业相机按照触发信号,采集一张高清图像传给电脑。
两种拍照触发方式
硬件触发(产线常用)
光电传感器感应到产品 → 给相机发信号 → 相机自动拍照
软件触发(调试 / 静态测试)
上位机代码直接命令相机拍照,不用外部传感器
要调的参数
曝光时间:亮了就调小,暗了调大
增益:画面太暗适当加增益(别加太大,会有噪点)
帧率、触发模式、防抖
流程作用
把现实物体,变成电脑能处理的数字图片。
第三步:图像预处理(把图片变干净、好用)
做什么
对刚拍的原图做基础修整,去掉干扰、方便后面找缺陷找轮廓。
常用预处理操作(必懂)
灰度化:彩色转黑白,减少计算量
滤波降噪:高斯、中值滤波,去掉噪点、细小灰尘干扰
阈值分割:把画面分成黑 / 白两块,分离背景和目标
形态学处理:腐蚀、膨胀、开运算、闭运算
去掉小噪点
把断裂的边缘补完整
ROI 区域截取:只保留要检测的区域,无关地方裁掉,加快运行速度
作用
过滤杂质、简化画面、让目标轮廓更清晰,给下一步算法铺路。
第四步:算法检测(视觉核心逻辑)
做什么
用视觉工具(Halcon/VM)做定位、测量、缺陷、识别。
常见 4 类算法任务
模板匹配定位
找产品位置、角度,把产品摆正,方便后续检测
缺陷检测
查划痕、缺料、污渍、破损、有无装配
尺寸测量
测距离、孔径、边长、角度、公差判定
字符 / 码识别
OCR 字符、二维码、条码读取
输出
算出结果:OK 合格 / NG 不合格、具体尺寸、缺陷位置。
第五步:输出结果(上位机逻辑处理)
做什么
把算法检测出来的结果,交给上位机 C# 程序处理。
具体工作
显示图片、在图上画框 / 画圆标注缺陷位置
检测记录存入 SQL Server 数据库
界面表格刷新:显示产品编号、结果、时间、工位
统计产量、良率、NG 分类
作用
人机交互、数据存档、报表统计、方便追溯生产记录。
第六步:对接 PLC(和产线设备联动)
做什么
视觉把 OK/NG 信号 发给 PLC,控制流水线、机械手动作。
通讯方式
Modbus TCP(最常用)
串口 RS485
硬 IO 接线(高低电平)
Socket 网络通讯
实际联动逻辑
检测 OK → 发信号给 PLC → 流水线放行、机械手抓取到合格区
检测 NG → 发信号给 PLC → 停机、报警、剔除机构把次品打掉
作用
视觉不单干,和整条产线联动,实现自动化生产。

posted @ 2026-05-06 17:34  菜鸟的奋斗军  阅读(54)  评论(0)    收藏  举报