OpenCV4.1.2 QRCode解码体验测评(附源码+支持中文)

目前官方Release的OpenCV最新版本为4.1.2,偶然看到更新信息里面QRCode解码性能有提升,所以迫不及待想尝试一下,因为上次测试了4.0版本的效果不太好。

下载和配置OpenCV的步骤此处略过,网上都可以找到资料,步骤比较简单,大家自己完成即可。接下来作为检测和识别的第一步,我们首先要有QRCode二维码,大家可以网上下载,也可以用下面的python代码生成,后面是我用代码生成的三个二维码用于后续测试。

from PIL import Image
import qrcode

def make_code():
    url = u‘OpenCV与AI深度学习‘
    qr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=8, border=4)
    qr.add_data(url)
    qr.make(fit=True)

    img = qr.make_image()
    img = img.convert("RGBA")

    icon = Image.open("opencv.png")

    img_w, img_h = img.size
    factor = 4
    size_w = int(img_w / factor)
    size_h = int(img_h / factor)

    icon_w, icon_h = icon.size
    if icon_w > size_w:
        icon_w = size_w
    if icon_h > size_h:
        icon_h = size_h
    icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)

    w = int((img_w - icon_w)/2)
    h = int((img_h - icon_h)/2)
    icon = icon.convert("RGBA")
    img.paste(icon, (w, h), icon)
    # img.show()
    img.save(‘logo-qrcode.png‘)

make_code()
print("Finished!")

  

接下来新建Win32控制台程序,复制示例代码qrcode.cpp,在opencv安装目录下sources/samples/cpp/qrcode.cpp位置,配置好后运行代码,会打开摄像头,进行实时QRCode二维码的检测和识别,下面是我检测的效果:

需要注意的是默认解码之后如果二维码内容中有中文会显示为乱码,使用下面代码可讲中文正常显示。

if (result_detection)
{
  decode_info = qrcode.decode(src, transform, straight_barcode);
  if (!decode_info.empty())
  {
    //cout << decode_info << endl;   //原来直接输出std string
    std::wstring wtxt = utf8string2wstring(decode_info);    // 将utf-8的string转换为wstring
    std::string txt_gbk = wstring2string(wtxt, "Chinese");    // 再将wstring转换为gbk的string
    std::cout << txt_gbk << endl;
  }
}

那么你将会看到这样的结果:

  

最后对OpenCV4.1.2版本QRCode解码功能做个简单总结:

① 二维码检测和识别不论从速度和准确率方面都有了很大提升。

② 支持各种角度和各种颜色QRCode解码

③ 支持中文解码(输出内容转码即可)

④ 同时存在多个二维码时找不到

展望:期待后面能够支持多个二维码解码,同时能支持DataMatrix和其他类型二维码就更好了。

当然,如果有兴趣自己优化的朋友可以编译源码查看优化。

关注【OpenCV与AI深度学习】

长按或者扫描下面二维码即可关注

原文地址:https://www.cnblogs.com/stq054188/p/11963517.html

时间: 2024-10-13 03:27:07

OpenCV4.1.2 QRCode解码体验测评(附源码+支持中文)的相关文章

10个Web前端值得收藏的背景全屏效果展示(附源码)(上)

作为一个前沿的 Web 开发者,对于 HTML5 和 现在流行的3D技术或多或少都有掌握.特别是在移动端大显身手.这篇文章挑选了10个绚丽的背景全景展示效果,希望对你有所帮助. 1.  JS图片背景全屏代码实现物理效果 玩法介绍:可以随意拖动鼠标.按住鼠标左键选中旋转物体.或者按住鼠标滑轮放大或者缩小,有不同的效果,赶紧来体验一下. 源码下载  /  在线演示 2.  CSS3学习 - 网站背景拉伸平铺jQuery插件 这个插件集成了一些非常好的 JavaScript 库,提供一个方便使用的文本

C#编程总结(七)数据加密——附源码

C#编程总结(七)数据加密——附源码 概述 数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取.阅读的目的. 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程.加密建立在对信息进行数学编码和解码的基础上.加密类型分为两种,对称加密与非对称加密,对称加密双方采用共同密钥.非对称加密,这种加密方式存在两个密钥,一个是公共密钥(对外公开),一种

Web 开发中很实用的10个效果【附源码下载】

在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记得收藏:) 超炫的页面切换动画效果 今天我们想与大家分享一组创意的页面切换熊效果集合.我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果. 立即下载      在线演示 美!视差滚动在图片滑块中的应用 视差滚动(Parallax Scrolling)已经被广泛应用于网

精选12个时尚的 CSS3 效果【附源码下载】

精选12个时尚的 CSS3 效果[附源码下载] 这里是精选的12个很炫的 CSS3 效果.CSS3 是对 CSS 规范的一个很大的改善和增强,它使得 Web 开发人员可以很容易的在网站中加入时尚的效果.以前很多需要编写复杂的 JavaScript 代码才能实现的效果,如今只需要简单的写几句 CSS3 代码就能实现. 超炫的 CSS3 页面切换动画效果 今天我们想与大家分享一组创意的页面切换熊效果集合.我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果. 源码下载 

酷毙了!三种风格的全屏幻灯片效果【附源码下载】

今天,我们想向您展示如何创建平铺背景图像的幻灯片效果.其灵感来自于国外的一个工作室网站(围观),这个网站充满了各种有趣和创意效果,一定记得去看看. 这个幻灯片效果是由四个区域的独立移动构成,通过画面分割,同时显示出新的图片.这里需要组合使用 CSS3 的3D转换.过渡和动画功能.除了这种效果我们也将添加两个更多的变化,我们的宗旨是实现超流畅的交互体验. 温馨提示:为保证最佳的效果,请在 IE10+.Chrome.Firefox 和 Safari 等现代浏览器中浏览. 源码下载      在线演示

【转载】Web 开发中很实用的10个效果【附源码下载】

超炫的页面切换动画效果 今天我们想与大家分享一组创意的页面切换熊效果集合.我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果. 立即下载      在线演示 美!视差滚动在图片滑块中的应用 视差滚动(Parallax Scrolling)已经被广泛应用于网页设计中,这种技术能够让原本平面的网页界面产生动感的立体效果.美女很养眼吧 :) 源码下载      在线演示 网页边栏过渡动画 以细微的过渡动画显示一些隐藏的侧边栏,其余的内容也是.通常侧边栏滑入,把其他内容推

3种精美Web前端搜索框展示(附源码)

1.  jQuery按栏目搜索框代码 赶紧来体验一下. 源码下载/  在线演示 2.  CSS3带凹槽搜索框 这个插件集成了一些非常好的 JavaScript 库,提供一个方便使用的文本动画插件. 源码下载/  在线演示 3.jQuery视频侧边隐藏搜索框 jquery实现的,会在当鼠标光标移动到接近(或通过)视口(viewport)的顶部的时候触发. 源码下载 /   在线演示 3种精美Web前端搜索框展示(附源码)

几种非常精美的Web前端标签效果展示(附源码)(上)

1.  Tag标签管理jQuery插件 玩法介绍:可以随意拖动鼠标.按住鼠标左键选中旋转物体.或者按住鼠标滑轮放大或者缩小,有不同的效果,赶紧来体验一下. 源码下载  /  在线演示 2.  jquery标签回车自动完成 这个插件集成了一些非常好的 JavaScript 库,提供一个方便使用的文本动画插件. 源码下载 /  在线演示 几种非常精美的Web前端标签效果展示(附源码)(上)

8个前沿的 HTML5 &amp; CSS3 效果【附源码下载】

作为一个前沿的 Web 开发者,对于 HTML5 和 CSS3 技术或多或少都有掌握.前几年这些新技术刚萌芽的时候,开发者们已经使用它们来小试牛刀了,如今这些先进技术已经遍地开发,特别是在移动端大显身手.这篇文章挑选了8个前沿的 HTML5 & CSS3 效果,记得收藏哦:) 温馨提示:为保证最佳的效果,请在 IE10+.Chrome.Firefox 和 Safari 等现代浏览器中浏览. HTML5 模拟现实物理效果 Ball Pool 是一个基于 HTML5 技术的实验,模拟现实物理效果,让