使用OpenCV识别二维码 |
您所在的位置:网站首页 › 二维码识别引擎怎么用 › 使用OpenCV识别二维码 |
二维码广泛应用于我们的日常生活中,比如微信和支付宝支付,火车票,商品标识等等,二维码种类有很多,包括QR Code, Data Matrix, Code One等,日常生活中常用的二维码是QR二维码。 各类二维码的特征如下: QR二维码的识别过程大致分成两个阶段,首先搜索二维码的位置探测图形,即QR二维码三个顶点处的回字区域,QR二维码位置以4个顶点坐标形式给出,之后对二维码进行解码,提取其中的信息。 QR二维码识别是Opencv4新增加的功能,OpenCV4提供了相关函数直接解码QR二维码并读取其中的信息,在OpenCV4之前的版本中,对QR二维码的识别需要借助于第三方工具,常用的是zbar解码库。 针对QR二维码识别的两个过程,OpenCV4提供了多个函数用于实现每个过程,这些函数分别是定位QR二维码的detect函数,根据定位结果解码二维码的decode函数,以及同时进行定位和解码的detectAndDecode函数。 定位QR二维码的位置不但可以用于解码QR二维码,而且可以用于视觉定位,在利用QR二维码定位的任务中,有时不需要对QR二维码进行解码,而是直接使用4个顶点的坐标,因此指定为而不解码QR二维码可以加快系统的运行速度。 程序: # -*-coding:utf-8 -*- import cv2 as cv import numpy as np # 加载图片 src_image = cv.imread("./webwxgetmsgimg.jpeg") # 实例化 qrcoder = cv.QRCodeDetector() # qr检测并解码 codeinfo, points, straight_qrcode = qrcoder.detectAndDecode(src_image) # 绘制qr的检测结果 cv.drawContours(src_image, [np.int32(points)], 0, (0, 0, 255), 2) print(points) # 打印解码结果 print("qrcode :", codeinfo) cv.imshow("result", src_image) cv.waitKey(0) 包含二维码的图片src_img是待检测是否含有QR二维码的灰度图像或者彩色图像,points包含QR二维码的最小区域四边形的四个顶点坐标,即二维码的四个顶点坐标。结果以字符串的形式返回。 结束! |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |