通过机器视觉对硬盘容器上盖的字符进行视觉识别,判断是否混料

news2024/9/22 17:24:49

    客户的需求

    检测内容
硬盘容器上盖字符识别,以判断是否有混料。

    检测要求
利用硬盘容器上盖表面字符,来判断是否有混料的情况发生,先识别全部字符。

    视觉可行性分析
对贵司的样品进行了光学实验,并进行图像处理,原则上可以使用机器视觉进行测试测量。
    结果
对样品进行分析,可以在相同的光照与位置下测量出不同位置的字符并识别出来。
使用的LED光源、工业相机、工业镜头等硬件的具体信息,请参看下面的内容。
    测试条件
产品测试时,只读取了一个相对较小的区域内的字符,并且没有明显的定位系统,因此需要运动机构有相对较精密的定位机构,以保证字符能正常的出现在ROI(兴趣区域)内,从而准确的读取字符。
    使用硬件
LED光源:CSR-90-ICOb                3个……用于突出特征
光源控制器:CSR-24T2-SPV            3个……用于光源供电
工业相机:AVT Stingray F125B    3个……用于获取影像
相机电缆:5米1394B线                3条……用于传输影像
图像采集卡:1394B图像采集卡    3块……用于采集影像
工业镜头:SV-2514H                    3个……用于光学成像
    安装条件

检查方式如上图所示,硬盘容器从下方走过,如在生产线的传送带上,在产品表面上方约85mm处放置同轴光源CSR-90-ICOr,在产品表面上方约190mm处,放置相机镜头等图像采集部分。分析产品可以知道,其字符主要分布在三条相对平行的“直线”上,因此我们使用三个工业(三套图像采集处理系统),对每条线上的字符进行识别,这样做即方便产品光学成像,而且可以降低硬件成本。如果使用一个工位将所有字符识别完,对光源要求非常苛刻,使用的工业相机,也至少要500万像素以上的,而且最后的结果是还不一定能出理想的效果。

产品测试区域如下图所示:
 
工位一的相机负责TEST1~TEST5,工位二的相机负责TEST6~TEST9,工位三的相机则负责TEST10~TEST11。当然以上的测试区域是根据实验得到的数据,实际情况中可能需要将字符划分的更细,如将TEST11再分成两个测试部分。
光源工作距离:85mm,指光源到线圈最高端的距离
相机工作距离:190mm,指镜头表面到目标的距离
视场:40*30mm,指相机拍摄视场的大小(可见区域)
    最优化方案
在这里,我们将告诉您,为什么选择这样的硬件,选择这些硬件的有什么好处。
    LED光源 CSR-90-ICOb
因硬盘容器上盖的表面是比较平整的面,使用CSR-90-ICOb光源,从上往下直射照射,字符的边缘将被表现为黑色,而其它地方则表现为白色,利用字符边缘,有利于字符的识别。如下图所示为实际成像图:
 
    光源控制器 CSR-24T2-SPV
光源需要相应的供电设备,一般工业使用模拟控制器或数字控制器就足够了,在本方案中,首先使用的是同轴光源,因其使用分光镜,其亮度只有相同尺寸面光的1/4不到;其次,我们希望本系统能够有较高的处理速度,在检测过程中可以在某机构上连续运行的进行检测;第三,为了延长光源的使用寿命。因此我们推荐使用CSR-24T2-SPV频闪控制器。其可以在瞬间增亮光源亮度,可以给相机提供100微秒级别的曝光时间,以减少产线振动、物体运动等引起的误差,因为其只是在拍照的瞬间点亮光源,因此可以延长光源的使用寿命。
    工业相机 AVT Stingray F125B
AVT Stingray F125B相机是一款德国进口125万像素的1394B工业CCD黑白,其分辨率是1292x964pix,我们的视野定为40x30mm,则我们的视觉精度可以达到40/1292=0.031mm/Pix或30/964=0.031mm/Pix,有这样的精度,以产品上的最小字符“-”来看,其尺寸约为1x0.5mm,按像素来算,则有1/0.031=32像素(32x16Pix),已经可以识别出字符。
    工业镜头 VST SV-2514H
SV-2514H是日本VST公司生产的一款百万像素级低畸变工业镜头。其优秀的成像质量,小巧的体积,低廉的价格,是本方案的理想之选。当然本镜头,只是在我们实验室测试条件下使用的镜头,如果客户需要将工作距离缩小或变大,可以更换其它的合适的镜头进行处理。
    测试结果画面
    产品的不同位置测试结果
 
产品特征-实际成像时的图像
 
TEST1
 
TEST2
 
TEST3
 
TEST4
 
TEST5
 
TEST6
 
TEST7
 
TEST8
 
TEST9-PA重叠字体可以使用模式匹配进行识别
 
TEST10-以abc代替图中的符号
 
TEST11
以上为样品中所有字符的识别示意图。根据当前的情况,在定位精准的前提下,可以方便准确的读取字符内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1013380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【操作系统】进程,线程和协程的哪些事儿

进程,线程和协程的哪些事儿 进程什么是进程?进程的状态进程的控制结构 线程为什么使用线程?什么是线程?线程与进程的比较线程的实现用户级线程内核级线程轻量级进程 协程协程是什么?协程的优势 区别进程与线程的区别协程与线程的…

【Spatial-Temporal Action Localization(三)】论文阅读2018年

文章目录 1. AVA: A Video Dataset of Spatio-temporally Localized Atomic Visual Actions 时空局部原子视觉动作的视频数据集摘要和结论模型框架思考不足之处时间信息对于识别 AVA 类别有多重要?定位与识别相比有何挑战性?哪些类别具有挑战性&#xff…

Python console cmd命令乱码(无论是os还是subprocess)

给我整无语了,花了一个多小时,根本没找到需要的答案。 网上全是改这样的 五花八门都有,我全部尝试并且还就再排列组合修改,累的。 在下文找到答案,直接os.system(chcp 65001),问题解决!引用文献…

IEC 61850扫盲

目录 1 简介 2 主要特点 2.1 信息分层 2.2 信息模型与通信协议独立 2.3 数据自描述 2.4 面向对象数据统一建模 2.5 带确认服务 2.6 不带确认的服务 2.7 VMD(虚拟制造设备) 2.8 GOOSE(Generic Object Oriented Substation Event&…

LeetCode(力扣)435. 无重叠区间Python

LeetCode435. 无重叠区间 题目链接代码 题目链接 https://leetcode.cn/problems/non-overlapping-intervals/ 代码 class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:if not intervals:return 0intervals.sort(keylambda x: x[0])co…

ajax day4

1、promise链式调用 /*** 目标:把回调函数嵌套代码,改成Promise链式调用结构* 需求:获取默认第一个省,第一个市,第一个地区并展示在下拉菜单中*/let pname axios({url: http://hmajax.itheima.net/api/province,}).t…

徐亦达机器学习:Kalman Filter 卡尔曼滤波笔记 (一)

P ( x t P(x_t P(xt​| x t − 1 ) x_{t-1}) xt−1​) P ( y t P(y_t P(yt​| x t ) x_t) xt​) P ( x 1 ) P(x_1) P(x1​)Discrete State DM A X t − 1 , X t A_{X_{t-1},X_t} AXt−1​,Xt​​Any π \pi πLinear Gassian Kalman DM N ( A X t − 1 B , Q ) N(AX_{t-1}B,Q)…

open-interpreter +GTX1080+wxbot+codellama

https://github.com/KillianLucas/open-interpreter/ Open Interpreter(开放解释器) 可以让大语言模型(LLMs)在本地运行代码(比如 Python、JavaScript、Shell 等)。安装后,在终端上运行 $ inte…

窄边极简折叠玻璃门,实现自由推拉及折叠,遥控随意切换透明与磨砂效果

窄边极简折叠玻璃门是一种非常实用和创新的门设计,可以提供各种功能和效果。以下是一些关于窄边极简折叠玻璃门的相关技巧和应用: 1. 自由推拉和折叠:这种门设计允许你自由地推拉和折叠门,根据需要调整门的宽度和开启面积。这使得…

数字人员工成企业得力助手,虚拟数字人为企业注入高科技基因

随着互联网和人工智能技术的快速发展,以“数字员工”为代表的数字生产力,正在出现在各行各业的业务场景中。数字人员工的出现不是替代人类,而是通过技术提高工作效率,实现更加智能化的服务体验,帮助企业实现大规模自动…

C语言--字符串旋转笔试题

C语言–字符串旋转笔试题 文章目录 C语言--字符串旋转笔试题一、字符串左旋1.1 思路11.2 思路1代码1.3 思路21.4 思路2代码 二、字符串旋转结果判断2.1 思路12.2 思路2 一、字符串左旋 实现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个字…

Truenas scale 配置Zerotier

Zerotier 注册 官网注册 zerotier, Truenas 安装 Zerotier Truenas的 APP -> Available Applications 中搜索 zerotier 在 Network中填入 zerotier 注册账户后给你的ID。 勾选 Host Network 在这里插入图片描述 Zerotier 中给定权限 左侧 框框 打钩&#…

Spring Boot集成Redis实现数据缓存

🌿欢迎来到衍生星球的CSDN博文🌿 🍁本文主要学习Spring Boot集成Redis实现数据缓存 🍁 🌱我是衍生星球,一个从事集成开发的打工人🌱 ⭐️喜欢的朋友可以关注一下🫰🫰&…

MyEclipse 用tomcat部署SSM项目后,项目名称和当前项目不一致

MyEclipse 用tomcat部署SSM项目后,项目成功启动,但是访问所有接口报404 从这里可以看到,部署的项目名为accurate_sugar_control_yc_api,但实际我们项目名字应该为accurate_sugar_control_otc_api 解决办法 在本地找到项目的根目…

SAFe大规模敏捷认证SAFeScrumMaster Leading SAFe6.0官方双认证班,双证培训班

课程简介 根据最新的敏捷行业调研报告,敏捷的实施越来越广泛和深入,已经超越了选择几个试点团队进行敏捷尝试的阶段,大规模敏捷的实施已经成为企业敏捷转型的重中之重,因此作为Scrum Master仅仅了解单团队敏捷的运作是不够的&…

详解哈希,理解及应用

全文目录 概念哈希冲突及原因解决哈希冲突的方法闭散列线性探测二次探测扩容 开散列扩容 哈希的应用位图布隆过滤器 概念 通过映射关系将关键字映射到存储位置,并实现增删改查操作。 通过上面的方法构造出来的结构就叫哈希表(散列表)&#x…

基础算法---区间合并

直接上题目,不废话! 题目 给定 n 个区间 [l,r],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 例如:[1,3] 和 [2,6] 可以合并为一个区间 [1,6]。 输入格式 第一行包含整数 n。 接下来 n 行&am…

Linux中如何执行命令

命令格式: 主命令 [选项...] [参数(要操作的对象)...] ——选项:决定了命令的执行方式 长选项 --version 短选项 -V,-i,-d ,-r ——参数:决定命令的作用对象 不同的命令参数不同 …

天府新区直播产业成型,成都直播产业基地开园倒计时!

直播,正逐渐衍化为当今社会的基础媒介,直播行业以“平台经济”为依托,构筑了数字经济一大“动脉”。 天府新区,数字激潮涌。蜂巢产业,让未来生长。 站在电商直播的时代风口上,树莓集团携手上市公司德商产投…

如何高效且优雅地使用Redis

本文从如下7个维度,带你全面理解Redis的最佳实践和优化: 内存性能可靠性运维安全资源规划监控 1、如何节省内存 1.1、控制Key的长度 在开发业务时,要提前预估Redis中写入key的数量,如果key数量达到了百万级别,那过…