背景

最近领导给布置了一个基于图片识别车牌号的工具开发任务,然后就去研究实现逻辑,自己根据opencv写了一个小demo,发现不仅速度慢而且成功率极低。然后,就找到了Hyperlpr开源项目。

环境搭建

排雷1:有教程说在github上下载源码:https://github.com/zeusees/HyperLPR,自己编译,结果github上已经停止维护了,然后再gitee找到了:Hyperlpr项目
排雷2:hyperlpr环境搭建比较苛刻,建议直接在requirements.txt文件中维护好版本号

实现:
我是直接pip install hyperlpr 安装的

验证

import cv2
from hyperlpr import HyperLPR_plate_recognitionif __name__ == '__main__':image = cv2.imread("one.jpeg")result = HyperLPR_plate_recognition(image)

报错:

    mat_ = cv2.estimateRigidTransform(org_pts, target_pts, True)
AttributeError: module 'cv2' has no attribute 'estimateRigidTransform'

修改hyperlpr.py文件,大概在231行

mat_ = cv2.estimateRigidTransform(org_pts, target_pts, True)
修改为

 mat_,inlier = cv2.estimateAffine2D(org_pts, target_pts)

再次执行,执行成功,返回一个列表,依次是车牌号,准确率,车牌号在图片中的坐标

二次开发

经过实验发现,如果图片中存在多个车牌号,只能识别图片中的一个车牌号

拜读源码发现self.detect_ssd(image)函数返回的是一个可迭代变量,追踪进去应该可以发现点东西

和猜测一致,self.detect_ssd(image)返回的是一个列表,但是找到一个车牌就返回了,只需要将 return cropped_images 放到for循环外卖外面即可
修改前:

修改后:

验证:

标记

附源码:

import cv2
import numpy as np
from PIL import ImageFont, Image, ImageDraw
from hyperlpr import HyperLPR_plate_recognitionif __name__ == '__main__':image = cv2.imread("two.jpeg")result = HyperLPR_plate_recognition(image)print(result)# 标记车牌号if result:for index, item in enumerate(result):# 车牌号car_code = item[0]# 可信度conf = item[1]# 车牌框左上角坐标pt1 = (item[2][0], item[2][1])# 车牌框右下角坐标pt2 = (item[2][2], item[2][3])# 绘制车牌框cv2.rectangle(image, pt1=pt1, pt2=pt2, color=(255, 0, 0), thickness=3)# 设置需要显示的字体font_path = 'fonts/simsun.ttc'font = ImageFont.truetype(font_path, size=40, index=1)image = Image.fromarray(image)draw = ImageDraw.Draw(image)# 绘制文字信息draw.text((pt1[0] + 30, pt1[1] - 30), car_code, font=font, fill=(0, 0, 255))image = np.array(image)# cv2.namedWindow('image', 0)# cv2.imshow('image', image)# cv2.waitKey(100000)cv2.imwrite('d:/two.jpeg', image)

python+pyhyper实现识别图片中的车牌号相关推荐

  1. Python实现随机生成任意数量车牌号(完全符合2020年中国车牌号标准)

    更改:之前写的还是有漏洞的,之前写的默认后五位全是数字,但是实际上不是这样的,作者百度了相关标准,如下: (一)前4位必须有1位且只能有1位是英文字母(但I和O不能使用),英文字母位置可以在4位中自由 ...

  2. 教你3行Python代码,识别图片中的任意语言文字

    大家好 今天给大家介绍一个超级简单且强大的OCR文本识别工具:easyocr. 这个模块支持70多种语言的即用型OCR,包括中文,日文,韩文和泰文等.Python学习资料点击免费领取 下面是这个模块的 ...

  3. ubuntu+python+百度AI识别图片中的文字

    获取百度AI调用的 ID 和 key 打开百度AI官网:https://ai.baidu.com/ 点击控制台-登录账号-产品服务-图像识别-创建应用,勾选需要的服务(图像服务已默认全都选上, 此时我 ...

  4. 【一起来刷Python题】——01.随机生成车牌号

    在CSDN刷每日一题的时候,发现四个答案没一个对的,不知道该咋选了

  5. 模型:用hyperlpr3实现图片和视频中的车牌号提取

    文章目录 一.识别图片中的车牌号 二.识别视频中的车牌号 参考地址:GitHub 本文用的python 3.7.16,安装hyperlpr3 pip install hyperlpr3 一.识别图片中 ...

  6. python随机生成车牌_Python实现随机生成任意数量车牌号

    之前做课设的时候舍友遇到了需要生成500w量级车牌号的问题,于是我便写了一个随机生成车牌号的程序,希望各位采纳. 注:Python实现 import random def chepaihao(len= ...

  7. python人工智能文字识别软件_怎么用Python人工智能识别图片-百度AI文字识别使用方法分享 - Iefans...

    如果你是个Python初学者,那么你可以试着做做看这个教程,毕竟编程技能都是在实战中成长的,这篇教程是教你如何用Python来进行人工智能识别图片,可以帮助你解决日常办公时遇到的图片转换文字的问题. ...

  8. 海康威视错误代码0xf_调用海康威视sdk获取车牌号

    环境: win10(10.0.16299.0)+ vs2017 sdk版本:CH-HCNetSDK_Win32_V5.3.2.15_build20171122https://download.csdn ...

  9. 智能停车场(可检测车牌通过oled屏幕显示车牌号)语音+LED灯提示该车辆所停车位

    今天通过自己的学习,我做了一个智能停车场,首先先来介绍一下他的功能,通过识别车辆的车牌号并在OLED屏幕上显示车牌号,然后升降杆升起,并通过语音播报提示车辆所去的车位,同时会有绿色指示灯提示该车位位置 ...

最新文章

  1. SpringBoot自适应异常处理
  2. 线段检测M-LSD 已开源
  3. ECharts 图表导出
  4. select * from where 三个条件_VBA学习笔记70: Select语句基础
  5. 比特币的缺陷以及改进
  6. c# mysql 中文,c#操作mysql中文乱码的解决方案_c#应用
  7. mysql+select阻塞ddl_MySQL 5.6中如何定位DDL被阻塞的问题
  8. C#中机密文本的保存方案
  9. POJ 1050 To the Max (最大子矩阵和)
  10. C# Winform添加全局快捷键(老板键)
  11. require.js使用教程
  12. 磁盘不见了只剩一个c盘_电脑开机后磁盘都不见了,只剩下C盘了,为什么啊,求大神指教。...
  13. 搭建一个属于自己的语音对话机器人
  14. C++ 创建 TcpClient 客户端,使用QAbstractSocket 、 QtNetwork
  15. matlab电磁场与微波技术相关仿真的代码,几乎覆盖电磁和微波领域
  16. 【OpenCV学习】(三)色彩及矩阵操作
  17. 揭秘世界五大著名黑客
  18. 【研报】医美行业产业投资宝典:颜值新经济,美丽无止境——附下载链接
  19. 用友U9 BOM全阶展开 代码如下
  20. BERT破的11项纪录具体都是什么?

热门文章

  1. Python在Jupyter上使用HMM进行中文分词,将新闻文本分词后提取其中的高频词
  2. python roc计算_ROC评价指标最全攻略及Python实现
  3. 从施耐德的M262 谈PLC 处理器的演进
  4. “香港一卡通”收費表
  5. 后 R-CNN时代, Faster R-CNN、SSD、YOLO 各类变体统治下的目标检测综述:Faster R-CNN系列胜了吗?,(知乎ChenJoya大佬,讲的挺好的,记录一下)
  6. 其他计算机如何联网,局域网怎么连接其他电脑上网
  7. CC1312R低功耗高集成度M4F内核Sub-1G收发芯片
  8. 「学习笔记」多项式的蛇皮操作
  9. R与SPSS、SAS相比较_Python 在数据分析工作中的地位与R语言、SAS、SPSS 比较如何?
  10. 编写一个程序,计算1000以内不能被7整除的数值和