石鑫华视觉论坛微信公众号:石鑫华视觉

 找回密码
 注册会员
查看: 34|回复: 0

大视野多个条码视觉识别

[复制链接]
  • TA的每日心情
    开心
    昨天 09:05
  • 签到天数: 3187 天

    连续签到: 57 天

    [LV.Master]2000FPS

     楼主| 发表于 2024-4-16 14:32:06 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    大视野多个条码视觉识别
    视频解说
    image1.png
    大视野多个条码视觉识别视频号
    大视野多个条码视觉识别B
    大视野多个条码视觉识别,通常都有非常大的视野范围,如几百毫米或上千毫米的范围,然后里面可能会分布很多个条码。一般在产品入库、装箱包装中比较常见。或者是一些比较大的产品,如主板、PCB板等。这种产品检测,要想效率高,那肯定是一次成像然后完成检测是最快速的。如果软硬件性能达不到,那就只能分区进行识别。分区的话,效率肯定是下降的,如果不确定产品具体大小和条码位置时,那可能还得要拼图,工业图像处理库的拼图也是比较难搞的,像NI视觉连拼图功能都没有;如果是做固定产品大小的条码位置也是固定的,那就要简单很多,无非多加几个相机镜头,然后分别处理局部的条码,例如分成4区或6区、9区之类的。又或者一个个的飞拍也是可以的。

    image2.jpeg
    280mm范围多个条码成像中等亮度

    image3.jpeg
    280mm范围多个条码成像较低亮度
    image4.jpeg
    280mm范围多个条码成像较高亮度

    image5.jpeg
    280mm范围多个条码成像-视野范围
    机器视觉光源
    本视觉方案中的视野范围已经达到了280mm,从上面的效果来看,这上的亮度已经不如中间的亮度了,因为选择的是条形光源,长度也刚好只有视野这么大的SHI-BLM28238-W,所以边上的均匀性要差一些,不过整体还是可以读取的。当然,这里建议使用更长一些的SHI-BLM32738-W或者是SHI-BLM37238-W

    image6.png
    SHI-BLM32738-W
    这里为了节约成本,只使用了一个条形光源。因为产品本身只有一排,位置固定,所以只要固定位置照射时,条码成像还是比较好的。所以上下并不需要考虑太多照明均匀性问题。而如果条码是随机分布在视野范围内,那么建议至少要安装两个条形光源对射的方式,如果成本允许,安装4个条形光源比较理想。其实也增加不了多少钱,但是效果上会好很多。
    光源控制器
    使用的是常规的低功率的条光源,对控制器的要求不高,可以使用24V模拟控制器、数字控制器等进行供电。SHI-BLM32738-W单个条形光源的功率不超过30W,所以可以考虑使用SHI-APSM2430-2CH;而如果要安装2个,则考虑60瓦的SHI-APSM2460-4CH;安装4个条形光源则考虑120瓦的SHI-APSM24120-4CH

    image7.png
    SHI-APSM2430-2CH
    工业相机
    产品比较大,视野范围是280*210mm左右,看条码本身的线条其实还是比较粗的,原始拍摄使用了2000万像素的相机MER-2000-5GM。尝试了一下将分辨率降级到500万像素级别MER-500-14GM,这时虽然可以读取到条码,但是稳定性上略有下降,部分条码需要重新设置参数才可以读取到,所以这里建议还是至少需要使用630万的那种宽屏MER2-630-18GM,或者是千万像素级别的MER2-1220-9GM。当然为了保险起见使用MER2-2000-6GM也是可以的,均为卷帘CMOS芯片,成本比较低,一两千块钱一台的相机,成本上差别几百块钱。使用分辨率更高一些的MER2-2000-6GM,则可以适用更大范围的条码检测,按照现有的倍率关系,至少检测400mm是应该可以的。

    image8.png
    MER2-2000-6GM
    工业镜头
    拍摄范围比较大,几百毫米到上千毫米,所以这种情况下基本上没有太多选择空间,尽量选择焦距矩短的FA镜头,如8mm的、6mm的镜头。通常6mm以下的镜头畸变都比较大,所以这里优先考虑8MM的镜头SHI-C0814HJL

    image9.png
    SHI-C0814HJL
    图像处理算法
    条码识别的算法相对比较简单,只需要做个Read Barcode的函数即可。一般也没有太多的参数可设置,基本上参识别就能识别,识别不到,那基本上也就识别不到。当然,也会因为分辨率、对比度、亮度等问题,部分条码可能存在偶尔能读、偶尔不读的不稳定的情况。如果是这种情况,那么建议提升一下分辨率,或者是提升一下照明环境,改善一下图像质量。另外,NI视觉的条码识别函数相对来说性能一般,如果效果不理想的话,可以考虑换库,如使用Halcon的库来处理。

    image10.png
    2000万像素中等亮度- VBAI识别8个条码

    image11.png
    2000万像素较低亮度- VBAI识别8个条码-但是有一个是错误位置
    当图像对比度较低时,这时使用40的边缘强度时有一个条码位置是有错误的,正确的没有读取到,但是底下的一个条纹被认为是条码了。这时增加将最小边缘强度增加141时则又可以正常读取了,所以NI视觉在这些细节上的表现很多时候不如人意。

    image12.png
    有条码位置和下面的错误位置对比
             从上面的对比来看,有条码的位置的对比度,明显比下面的识别错误位置更理想,但是就是没有读到正确的位置的条码。也是无语的。

    image13.png
    调整最小边缘强度后可正确识别

    image14.png
    2000万像素较高亮度- VBAI识别8个条码
    然后将上面的2000万像素的图像转换为500万像素级别,再使用VBAI来识别:

    image15.png
    500万像素中等亮度-VBAI识别8个条码

    image16.png
    500万像素较低亮度-VBAI识别7个条码-最小边缘强度=40

    image17.png
    500万像素较低亮度-VBAI识别8个条码-最小边缘强度=36
             当分辨率降低为500万像素时,在最小边缘强度为40时,也只识别到7个条码,而最小边缘强度降低到36时,则可以读取8个条码。

    image18.png
    500万像素较高亮度-VBAI识别8个条码-最小边缘强度=45
    而当图像亮度较高时,则需要将最小边缘强度修改为45时,才可以准确读到8个条码。上面的验证可以看到,当分辨率降低时,VBAI识别时的稳定性下降了。不同亮度的图像需要修改最小边缘强度才可以。而且这里比较奇怪的是并不是说你将边缘强度调小了就能识别到,而是要调到某一个值时才可以识别到,这种调整参数的方法,在实际应用中是比较难实现的,总不能读一个图,又去手动调整一下参数吧?当然,对于上面的这种情况,使用一个更小范围的ROI可能稳定性更好一些。那样就需要先定位,然后再框选条码所在的区域。这里也验证一下使用HALCON的库来读取上面的中等、较低、较高亮度的图像,看看识别效果怎么样:

    image19.png
    2000万像素中等亮度-HALCON识别8个条码

    image20.png
    2000万像素较低亮度-HALCON识别8个条码

    image21.png
    2000万像素较高亮度-HALCON识别8个条码
             而当使用500万像素级别的图像时,Halcon中只使用读码功能,不优化图像时也有部分情况读取不到条码:

    image22.png
    500万像素中等亮度-HALCON识别7个条码

    image23.png
    500万像素较低亮度-HALCON识别7个条码

    image24.png
    500万像素较高亮度-HALCON识别7个条码
    而如果打开锐化功能,掩模宽度和掩模高度设置为7,系数设置为0.9,并且将最小元素大小调整为1(也就是最小条宽为1像素),则效果要好很多,这时各种亮度的图像均可读取8个条码:

    image25.png
    500万像素中等亮度-HALCON打开锐化最小元素大小为1-识别8个条码

    image26.png
    500万像素较低亮度-HALCON打开锐化最小元素大小为1-识别8个条码

    image27.png
    500万像素较高亮度-HALCON打开锐化最小元素大小为1-识别8个条码
    Halcon中使用500万像素级别的图像时,如果仅使用条码函数,也是有部分码读不到的,但是使用了锐化技术来增强图像后,则使用统一的参数可以有效的读取各种亮度的图像中的所有条码,稳定性要好于NI视觉的读码。
    机器视觉项目实现难度
    ★★

    项目相对来说难度较低。当然,这里的较低是针对当前的图像和样品的。实际的条码读取中,其实也是有比较难搞的,那些条码磨损严重的或者有污渍、有褶皱等,都可能会造成不能读取的可能。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(第二版)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23
    LabVIEW图像处理教程
    机器视觉商城淘宝店铺
    视觉论坛充值赞助方法

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-4-30 02:14

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表