精华内容
下载资源
问答
  • Opencv+Zbar+二维码识别+摄像头+视频+图片+网络视频功能识别,在其他的资料中做了部分修改,可以直接运行,有详细注释,很好学习,参考资料已经在代码中注明,在原有代码修复了一些小bug,可拍照,视频,网络视频和...
  • 基于opencv4.5.1的多二维码识别检测

    千次阅读 2021-10-20 21:49:39
    opencv4从4.3.0版本的二维码识别对象就增加二维码检测函数,detectAndDecodeMulti。 首先看detectAndDecodeMulti的参数列表 可以看到有三个参数列表,第一个是输入图片,识别二维码的时候尽管二维码本身是二值图...

    opencv4从4.3.0版本的二维码识别对象就增加多二维码检测函数,detectAndDecodeMulti。
    首先看detectAndDecodeMulti的参数列表
    请添加图片描述
    可以看到有三个参数列表,第一个是输入图片,识别二维码的时候尽管二维码本身是二值图,但是放在其他环境中整体图片就不是了,所以输入图片要做灰度转化处理。第二个参数是一个cv::string类型的vector容器,存放多个二维码信息,第三个可以是Point类型的vector容器,存放每个二维码四个顶点的坐标信息。
    话不多说上代码。注意使用的opencv4版本应该是4.3.0以上(博主具体版本忘了。。),才有相应的函数。
    请添加图片描述

    输入图片
    在这里插入图片描述
    输出结果为
    请添加图片描述
    可以看到两个二维码信息都能检测出来。

    展开全文
  • 基于MATLAB的条形码识别。带GUI可视化用户操作界面。...可识别20张条形码图片,另外可定制二维码识别二维码可自定义生成内容,生成二维码,然后嵌入数字水印进行加密传输,接收方提取水印的二维码识别
  • 基于STM32的二维码识别源码+二维码解码库lib
  • js实现长按二维码识别及上传二维码识别。样式随便写的,可以自己修改
  • 前言 二维码作为机器视觉常见的检测场景,常常用于产品类型检测,MES系统对接等场景,不同于常见的halcon图像处理流程,二维码识别不需要做图像分割便可以很快的完成二维码区域定位与二维码检测。这里对常用的算子做...

    前言

    二维码作为机器视觉常见的检测场景,常常用于产品类型检测,MES系统对接等场景,不同于常见的halcon图像处理流程,二维码识别不需要做图像分割便可以很快的完成二维码区域定位与二维码检测。这里对常用的算子做总结。

    1.创建二维码检测句柄

    create_data_code_2d_model ('QR Code', 'default_parameters', 'enhanced_recognition', QRHandle)
    //参数一:代表支持检测的5种码型
    //Data Matrix Ecc 200
    //QR Code 翻译成 二维码,也是常用的检测项
    //Micro QR Code 
    //FDF417
    //Aztec Code
    //参数二,参数三与识别时间长短有关
    //QRHandle代表句柄
    

    在下面的案例中加上了灰度线性映射的功能,采用for循环,这里的意思是不断调整对比度,直到能够识别到二维码即可,一般情况下只要成像情况好,第一个循环就能识别成功。

    2.识别二维码(注意可以同时识别多个二维码的参数)

    find_data_code_2d (Image2, QRXLDs, QRHandle, 'stop_after_result_num', 4, ResultHandles, PositionStrings)
    //这个算子的含义是识别出二维码
    //QRXLDs代表二维码的边缘
    //第五个参数4,代表可以最多同时检测4个二维码
    //PositionStrings就是检测出的二维码内容
    

    3.释放二维码句柄

    这里提供一个案例,附图片,可以帮助理解检测方法。
    在这里插入图片描述

    dev_close_window ()
    dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
    read_image (Image, 'D:/二维码.png')
    rgb1_to_gray (Image, GrayImage) 
    create_data_code_2d_model ('QR Code', 'default_parameters', 'enhanced_recognition', QRHandle)
    *******************识别出二维码
    Length := 0
    PositionStrings := []
    for min_gray := 0 to 30 by 3
      for max_gray := 255 to 180 by -7
         *灰度线性映射
         Mult:=255.0/(max_gray-min_gray)
         Add:=-Mult*min_gray
         scale_image (GrayImage, Image2, Mult, Add)
         find_data_code_2d (Image2, QRXLDs, QRHandle, 'stop_after_result_num', 4, ResultHandles, PositionStrings)
         tuple_strlen (PositionStrings, Length)
         *字符串大于5就是识别出来了
         if (Length > 5)
           break
         endif       
      endfor
      if (Length > 5)
         break
      endif 
    endfor
    ********释放内存
    clear_data_code_2d_model(QRHandle)
    
    展开全文
  • 二维码识别,matlab代码,内附二维码,内有界面,选择输入,注意输入顺序!
  • 基于多二维码识别的三维运动真值获取1.背景介绍2.原理2.1图像预处理2.2 定位标轮廓提取2.3 二维码鲁棒识别3 运行结果3.1对单张图片进行多二维码识别3.2 获取一系列图片的轨迹 1.背景介绍 使用视觉slam...

    1.背景介绍

    使用视觉slam(simultaneous localization and mapping)技术时,经常需要获取机器人的更高精度的运动轨迹,又叫运动真值,从而判断视觉定位的精度,运动真值的精度通常比视觉高出一个数量级,也就是需要达到cm级别的精度。
    获取运动真值的方法主要有运动相机、差分GPS、UWB技术和人工路标等,其中前三种方法需要购买较为昂贵的设备,从几千到几万不等,使用路标的方法价格低廉,只要操作合理也可以获得高精度的运动真值。本篇博客就是针对如何使用二维码当做路标,获取三维运动的机器人运动真值的问题进行阐述,需要的材料为打印出的二维码和一个200元左右的工业摄像头,本博客与下面的C++开源代码相对应。
    QRCode-Localization
    多二维码识别结果

    2.原理

    2.1 二维码基础

    这一段是二维码原理的介绍,都是网络上能够找到的,可直接跳到2.2节。
    常见的二维码上为啥三个角上有方块?
    这其实是三个定位点,图形旋转也不影响识别。要了解二维码的原理,我们先要来好好认识一下它。现在最常见的二维码是QR二维码(QR是一种码制),我们便以它为例。

    我们看一个二维码,最先看到的当然是几何图形。这些图形中,藏了不少重要的“部件”。
    首先,QR二维码的三个“角”上有三个方块,可别小瞧这方块,它叫位置探测图形。有了这三个点,不管是从哪个方向读取二维码,信息都可以被识别。即使将二维码图形旋转,也可以识别。也许你会问,为什么不是四个角上都有方块呢?事实上,是可以设更多的点,但几何知识告诉我们,三点就可以确定一个平面,节省出的一个角可以嵌入更多信息。
    另外,二维码上还有一些图形混杂在几何图形中,是肉眼看不出来的,比如定位图形和分隔符。定位图形就是图中连接三个位置探测图形之间的两根“线”,它的作用是决定二维码符号中模块的坐标,而分隔符的作用是将位置探测图形与符号的其余部分分开。也就是说,通过扫描能读取的数据信息在二维码中的位置是由定位图形和分隔符决定的。

    还有两个图形肉眼也难以发现,位于左下角位置探测图形上面的是“版本信息”,每个二维码都有一个版本号,我们常说的V1.0、V2.0就是版本;包围在三个位置探测图形周边的则是“格式信息”,这指的是这个二维码采用的编码格式。
    QR码结构

    2.2图像预处理

    要实现对多二维码准确且稳定的解码,图像预处理十分重要。本算法在图像预处理阶段主要进行了三项工作:直方图均衡化、双边滤波和分块二值化。
    其中直方图均衡化用于提高图像对比度,使得边缘信息更加地明显,双边滤波用于过滤掉一些噪声同时尽量不平滑边缘,使用分块滑窗二值化优点是可以比较好地解决图像光照不均匀的问题和避免栅格化。原图以及各个过程的结果展示在下图中。
    在这里插入图片描述

    2.3 定位标轮廓提取

    二值化后的操作就是定位标轮廓提取了,首先使用边缘提取算法,得到二值化图像的边缘,然后依据定位标轮廓的特点从这些边缘中找到定位标轮廓,这部分原理参考了这位前辈的方法[1]。

    每个点有两个轮廓。就是两个口,大“口”内部有一个小“口”,所以是两个轮廓,如果把这个“回”放到一个白色的背景下,从左到右,或从上到下画一条线。这条线经过的图案黑白比例大约为:黑白比例为1:1:3:1:1。

    下图分别是轮廓提取和定位标识别两个过程的结果图。
    定位标轮廓提取结果

    2.4 多二维码鲁棒识别

    这部分基于了一些实际操作的假设:在图像上,同一个二维码的三个定位标之间的距离要小于属于不同二维码的两个定位标的距离,这样就可以很方便地找到属于同一个二维码的定位标了。
    找到同一个二维码的定位标后,使用投影几何保直线的方法确定二维码在像素坐标上的四个顶点的位置,比较的绕,先不展开了。得到二维码的四个顶点的像素坐标后,使用OpenCV4的QRCode类进行解码,解码得到的是与二维码实际位置相关的一系列数字,就能得到二维码像素坐标与世界坐标的多组对应关系。然后求解相机位姿,就是经典的PnP(Perspective n Points)问题了,我直接使用了OpenCV的接口进行求解。

    3 运行结果

    3.1对单张图片进行多二维码识别

    按照源码的README,下载源码并进行编译后, 运行下面的指令

    cd build
    ./Test ../5.jpg
    

    一直按键,就能够一步步得到博客提到的所有过程的图片,还会有更详细的过程,比如找到的每个二维码四个顶点的区域,ROI等等

    3.2 获取一系列静止图片的轨迹

    下载数据集,提取码18b3然后进行解压,数据集包含多张图片,以及一个txt文件,记录了每张图片采集时的ROS时间信息运行下面的命令,就能够在当前路径下得到文件trajectory.txt,获得估计出的position信息

    ./QRPositions path_to_dataset/data/
    

    3.3 相机做圆周运动的轨迹

    下载数据集,提取码7ev8 ,采集于相机在做圆周运动时的图像,类似地运行程序得到轨迹信息,得到轨迹如图中蓝色曲线,对蓝色曲线拟合得到红色圆周圆周轨迹
    在这里插入图片描述

    统计红色曲线偏离蓝色圆周的偏差值,得到下图,发现偏差的RMSE误差在3.1cm,还可以
    在这里插入图片描述

    [1]基于opencv 识别、定位二维码 (c++版)

    展开全文
  • qt二维码识别

    2019-04-11 09:11:29
    本例程可以实现二维码识别,条形码识别,但是没有源码,如需下载请谨慎考虑,此应用程序在win运行,可以用于对比二维码识别结果是否正确。
  • 二维码识别

    2018-01-17 14:53:24
    1,支持QR二维码识别. 2,支持CODE128,CODE39,I25,EAN13等四种编码方式的条码识别. 3,支持UTF8-OEM转换输出(需要客户自己提供转换码表).
  • 优先本地识别二维码,当本地识别不成功时会自动联网调用草料二维码接口识别。 优先本地识别二维码,当本地识别不成功时会自动联网调用草料二维码接口识别
  • 基于主成分分析的人脸二维码识别,之前MATLAB与图像处理的结课作业,打开工程可以直接使用
  • 二维码识别 c++ 库

    2019-04-25 11:39:44
    linux c++ 二维码图像生成与识别。 linux平台下,绝对放心可用
  •  二维码高速识别系统采集和处理粘贴在高速转动的风扇叶片上的Data Matrix两维码图像,并对二维码数据进行识别。此系统可应用于需要对二维码进行识别的各种领域,尤其适合高速流水线的二维码检测。  2 性能指标...
  • JS批量二维码识别

    2018-01-03 14:02:45
    1. 可选择个图片识别 2. 识别的图片可参杂其他的景象
  • 正点原子STM32F107开发板上实现的二维码识别功能,可支持对摄像头捕获到的二维码实时内容识别
  • 二维码,又称二维条码或二维条形码,二维条码是用...同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。二维条码/二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。
  • 屏幕二维码识别工具

    2018-04-26 17:46:56
    屏幕二维码识别工具,用于手动截取屏幕上的二维码 并识别二维码,本程序基于.net 4.5开发,程序包含ZXing.dll二维码识别
  • 正点原子STM32F107开发板上实现的二维码识别功能,可支持对摄像头捕获到的二维码实时内容识别
  • 此代码是基于二维码识别的python代码,将视频中的二维码识别的数据进行解析,并在屏幕上面打印出来,并解析成为坐标的形式,最后由于要控制步进电机进行相应的操作,因此在解析挖成之后并把坐标转换成为数控编码的...
  • 基于matlab的主成分分析的人脸二维码识别,将其与QR二维码的编解码进行了结合,使用MATLAB作为工具平台,调用QR二维码编解码应用程序,进而实现了一个人脸二维码自动识别的系统原型,仿真实现效果较好
  • 压缩拍照二维码图片,替换照片格式,引用zxing识别二维码,可识别拍照获取的不规则二维码
  • 下载安装后,能批量快速识别二维码正确率99.999%也能快速批量生成二维码二维码变得简单的软件工具
  • LabVIEW 二维码识别

    2021-08-01 23:59:54
    项目描述请参见:https://handsome-man.blog.csdn.net/article/details/119304796
  • 个关于STM32的二维码识别方案(代码),具有较大的参考价值
  • 中鸣机器人参赛程序子程序实现二维码的扫描识别功能
  • 该设计基于STM32F429+OV5642实现二维码识别功能。解码库被打包成lib了。 先来段视频: 附件内容截图:
  • 打开一张图片,自动识别图中的QR码,然后把内容显示到页面上。
  • Zxing二维码识别

    2018-05-11 16:17:43
    Zxing 二维码识别 二维码识别 二维码识别 二维码识别
  • 【图像识别】基于主成分分析算法实现人脸二维码识别.md

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,684
精华内容 31,873
关键字:

多二维码识别