近几天在研究二维码的识别,主要是通过python代码来识别特定图片内是否包含二维码。方法有分类,还有下面我介绍的直接法。

需要安装库

pip install pyzbar
pip install opencv-python

我们 先准备些二维码

总共有11个二维码。

下面我们进行二维码识别:

# -*- coding: utf-8 -*-import os
from pyzbar.pyzbar import decode
import cv2"""
图片包含二维码检测
"""
def qrcode_recongnize(filepath,filename):""":param filepath: 图片路径:param filename: 图片名字:return: qrcode 图片包含二维码,unqrcode 图片不包含二维码"""image_type = []try:# 读取图片image = cv2.imread(filepath+filename)# 灰度化image=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)# 解码二维码result = decode(image)if len(result)>0:image_type.append('qrcode')else:image_type.append('unqrcode')except:image_type.append('unqrcode')return image_typeif __name__ == '__main__':filepath="F:/img_spam/test/"for parent,dirnames,filenames in os.walk(filepath):for filename in filenames:kk=qrcode_recongnize(filepath,filename)print(filename,kk)

运行结果:

10064002865114446300320010019402.jpg ['qrcode']
10064002865147474800320010014524.jpg ['qrcode']
10064002865193399400320010025444.jpg ['qrcode']
10064002865201489200320010016199.jpg ['qrcode']
10064002865201508800320010029686.jpg ['qrcode']
10064002866745871400320010015155.jpg ['qrcode']
10064002917911190400320010025075.jpg ['unqrcode']
10064002918088242900320010011993.jpg ['qrcode']
10064002918093458900320010012496.jpg ['qrcode']
10064002918168035600320010029193.jpg ['qrcode']
20181206142636.png ['qrcode']Process finished with exit code 0

识别了10个是二维码,有一个二维码识别错误。进过分析,那个未识别的二维码,并不是微信二维码。

而是一个网站的二维码。说明我们写的这个程序只能识别微信二维码,其他类型的二维码识别不了。后面再看看有没有别的方法。

识别二维码方法二:

# -*- coding: utf-8 -*-from pyzbar.pyzbar import decode
from PIL import Image,ImageEnhance
import os"""
图片包含二维码检测
"""
def qrcode_recongnize(filepath,filename):""":param filepath: 图片路径:param filename: 图片名字:return: qrcode 图片包含二维码,unqrcode 图片不包含二维码"""image_type = []try:# 读取图片img = Image.open(filepath + filename).convert('RGB')# 增加亮度img = ImageEnhance.Brightness(img).enhance(1.0)# 锐利化img = ImageEnhance.Sharpness(img).enhance(1.5)# 增加对比度img = ImageEnhance.Contrast(img).enhance(2.0)# 灰度化img = img.convert('L')# 解码二维码result = decode(img)if len(result)>0:image_type.append('qrcode')else:image_type.append('unqrcode')except:image_type.append('unqrcode')return image_typeif __name__ == '__main__':filepath="F:/img_spam/test/"for parent,dirnames,filenames in os.walk(filepath):for filename in filenames:kk=qrcode_recongnize(filepath,filename)print(filename,kk)

【python 图片识别】python识别图片是不是包含二维码相关推荐

  1. ⭐️Python实用小工具之制作酷炫二维码(有界面、附源码)⭐️

    镇楼图 文章目录 写在前面 制作二维码 安装myqr库 myqr.run()参数详解 制作普通二维码 制作黑白背景二维码 制作彩色背景二维码 制作大边长二维码 制作动态二维码 解析二维码 tkinte ...

  2. Python入门(十八):MyQR 二维码制作

    Python入门系列博客到这就需要和大家说再见了,感谢大家一路的陪伴. 最后,奉上 Python 的二维码制作.借助二维码,传达你的心意.又何尝不是一件乐事呢? 在以后的学习和生活中,如果有什么有趣的 ...

  3. Py之qrcode:调用python的qrcode库两种方式生成二维码、带logo的二维码

    Py之qrcode:调用python的qrcode库两种方式生成二维码.带logo的二维码 目录 python编程实现生成二维码 1.第一种方式-纯文本 2.第二种方式-带logo

  4. python制作炫酷吊炸天的二维码

    import PySimpleGUI as sg from MyQR import myqrsg.change_look_and_feel("LightBlue") layout ...

  5. python二维码生成识别代码_Python学习案例之二维码生成识别

    前言 在 JavaWeb 开发中,一般使用 Zxing 来生成和识别二维码,但是,Zxing 的识别有点差强人意,不少相对模糊的二维码识别率很低.不过就最新版本的测试来说,识别率有了现显著提高. 对比 ...

  6. Java学习笔记:检测一堆图片文件中是否有包含二维码的

    案例一 package part2;import com.google.zxing.Result; import com.yzk18.commons.IOHelpers; import com.yzk ...

  7. 微信小程序加入(长按识别)群聊(群二维码)

    小程序里放二维码图片 目前小程序放群二维码,长按识别 [支持]企业个人微信二维码 [不支持]企业微信群固定码 [支持]企业微信群码(7天过期) [支持]个人微信码 [支持]微信群码二维码 微信小程序中 ...

  8. Python实现读取Excel表内容批量生成二维码

    目录 一.概述 二.依赖库安装 三.Execl内容 四.代码片段 五.demo下载连接 一.概述 最近由于工作原因,需要用到大量二维码,如果用某料二维码生成器生成的话,要么一个一个生成,要么花钱开会员 ...

  9. 【python小技巧】花式表白之动态二维码,这个gif有点帅哦

    hello大家好,我是诗一样的代码.我写的文章大多数都是一些"有趣的小玩意".今天教大家一个花式表白的绝活.女神见到了肯定乐坏了. 二维码的原理 二维码的原理是二进制运算,总的来说 ...

最新文章

  1. MYSQL远程连接数据库
  2. 计算机系统结构研究分支,“计算机系统结构” 课程教学探讨[J] 电子科技大学.doc...
  3. 【树形dp】vijos1144小胖守皇宫
  4. [转载]常用内部排序算法--用VB6实现
  5. 网络基石 —— 双绞线、水晶头与 MIC
  6. 一个经典约瑟夫问题的分析与解答
  7. JavaScript学习指南集锦
  8. Linux 抓包还不会?这篇文章赶紧收藏
  9. Java程序员月薪20k的涨薪秘籍,系列教学
  10. drop_caches释放哪些内存
  11. 服务器硬盘raid方案,服务器RAID磁盘阵列经验总结
  12. We Will Rock You
  13. Blogspot.com再次解封
  14. lol8月21号服务器维护,8月21日lol维护公告最新 8.21lol维护到几点
  15. 拨号ECS和拨号VPS的区别
  16. 【Insights直播】华为帐号服务,打造全场景安全帐号体系
  17. java map不区分KEY的大小写
  18. 微信小程序之二级联动下拉列表
  19. 滑铁卢大学计算机专业就业,克服艰难 收获滑铁卢大学计算机专业offer
  20. 英语作文计算机80词九年级,英语作文80词左右初三10篇

热门文章

  1. 基于51单片机的简易抢答器设计
  2. 厉害了,Python竟然也可以制作萌萌的手绘图表
  3. 石家庄铁道大学数据结构实验4 图(完整代码)
  4. 软件工程包括三个要素:方法、工具和过程
  5. 字节跳动小程序担保支付请求签名算法-Java实现
  6. iOS开发规范学习总结与框架搭建
  7. 分压后方波变成了三角波?
  8. 【2023最新】Nodejs + Webstorm安装教程
  9. 大连海峰TDS-100系列双声道超声波流量计特点
  10. 投个JFE:你了解顶刊金融经济学(JFE)吗