近几天在研究二维码的识别,主要是通过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. OpenCV直方图均衡Histogram Equalization
  2. 看到关于java资料比较全的,自己收藏
  3. morphia_Morphia和MongoDB:不断发展的文档结构
  4. delphi random 六位_《蒙面唱将猜猜猜》第五季将播,六位唱将率先登场
  5. WMI服务故障,VBS脚本无法运行错误
  6. linux文件权限其他人,3-3 修改Linux中的文件 拥有者、所属组和其他人的权限
  7. vc java动态库_Java调用已经写好的VC++动态链接库
  8. 校园招聘数电模电笔试题
  9. 教你如何入门【大数据开发】?
  10. USBKEY用户认证平台的研究和实现
  11. 二进制数转换为十进制数c语言程序代码,任意二进制数转换为十进制数
  12. 衣带渐宽终不悔,为“指针”消得人憔悴(一)
  13. MySQL的函数——聚合函数、数学函数、字符串函数、日期函数
  14. 统计学习方法详解之第十三章 无监督学习概论
  15. Vue中使用marked
  16. java画笑脸_java的画图运用。一个简答的笑脸程序☺
  17. (3.1E)Shortest Distance (20)
  18. Servlet_Jsp学习笔记:
  19. 基于python的房地产数据分析_基于Python的数据分析
  20. Elasticsearch7.x SQL语法查询支持

热门文章

  1. wps只要拼音不要汉字
  2. docker部署禅道报错 WARNING: IPv4 forwarding is disabled. Networking will not work.
  3. 护航中小企业 H3C F100-C-A5防火墙微评测
  4. BOI2007 Mokia
  5. 开发者不讲武德之后,谁为开源付费“买单”
  6. 【洛谷】P1498 南蛮图腾(分治)题解
  7. Android TextView 实现一个单词分两行显示
  8. 如何在 Debian 系统上安装 VMware Workstation Pro ?
  9. 武汉大学2022年计算机考研复试需要准备什么
  10. swagger增强版配置及输出接口文档