点击上方“码农的后花园”,选择“星标” 公众号
精选文章,第一时间送达
今天给大家推荐一个由智云视图车牌识别的开源项目HyperLPR,HyperLPR是一个基于深度学习的高性能中文车牌识别开源项目。开源地址https://github.com/zeusees/HyperLPR,由python语言编写,同时还支持Linux、Android、iOS、Windows等各主流平台。它拥有不错的识别率。
![39a9e4c8816a352c99df7c9a42ebf349.png](https://i-blog.csdnimg.cn/blog_migrate/99d63501d7fa29fd18c13da812e2fe23.png)
智云视图目前还开源了一个基于深度学习移动端车型识别的项目HyperVID,支持超过4000种常见车辆品牌及子品牌。停车场卡口跟二手车图片TOP1准确率85%左右,TOP5 99%以上,新版优化了交通卡口的识别率,增加了车型种类,支持货车、客车、卡车等。
1 HyperLPR的车牌检测流程
使用opencv的HAAR Cascade检测车牌大致位置
Extend检测到的大致位置的矩形区域
使用类似于MSER的方式的多级二值化和RANSAC拟合车牌的上下边界
使用CNN Regression回归车牌左右边界
使用基于纹理场的算法进行车牌校正倾斜
使用CNN滑动窗切割字符
使用CNN识别字符
2 车牌识别代码
目前开源的HyperLPR车牌识别项目已经封装成了一个Python可使用的包,直接在命令行pip install hyperlpr就可以使用了,使用代码如下:
#导入包
from hyperlpr import *
import numpy
from PIL import Image, ImageDraw, ImageFont
#导入OpenCV库
import cv2
def image_add_text(img1, text, left, top, text_color, text_size):
# 判断图片是否为ndarray格式,转为RGB图片
if isinstance(img1, numpy.ndarray):
image = Image.fromarray(cv2.cvtColor(img1, cv2.COLOR_BGR2RGB))
# 创建一个可以在给定图像上绘图的对象
draw = ImageDraw.Draw(image)
# 参数依次为 字体、字体大小、编码
font_style = ImageFont.truetype("font/simsun.ttc", text_size, encoding='utf-8')
# 参数依次为位置、文本、颜色、字体
draw.text((left, top), text, text_color, font=font_style)
# 图片转换为opencv格式
return cv2.cvtColor(numpy.asarray(image), cv2.COLOR_RGB2BGR)
#读入图片
image = cv2.imread(r"D:\Project\Monet_traffic\data\photo\1.png")
改变图片大小
image = cv2.resize(image,None,fx=0.5,fy=0.5)
#识别结果
print(HyperLPR_plate_recognition(image))
#识别信息
xinxi = HyperLPR_plate_recognition(image)[0][0]
conf = HyperLPR_plate_recognition(image)[0][1]
location = HyperLPR_plate_recognition(image)[0][2]
print(xinxi)
print(location)
#转换为PIL的image格式,使用PIL绘制文字,再转换为OpenCV的图片格式
image = image_add_text(image, xinxi,location[0], location[1], (255, 0, 0), 50)
#画框
cv2.rectangle(image, (location[0], location[1]), (location[2], location[3]), (0, 255, 0), 2)
#展示
cv2.imshow("image",image)
cv2.waitKey(0)
}
}
3 检测效果
![cc6e6632a4843959a38043f56f2e4383.png](https://i-blog.csdnimg.cn/blog_migrate/0ef5f823104dc6305cf61d5888270f51.png)
![8c701c2dfc601e10d9901052c7fd1478.png](https://i-blog.csdnimg.cn/blog_migrate/2c273656e1bf04a72660ad7bbaa20e3d.png)
4 代码下载和环境设置
后台回复:项目实战,即可获取下载完整代码实现。
环境设置:hyperlpr==0.02、OpenCV==3.4.3.18、PIL库
·················END·················
推荐阅读
• 原理讲解-项目实战<->Mtcnn+Mobilent实现人脸口罩检测• Yolov3算法实现社交距离安全检测项目讲解和实战(Social Distance Detector)• 原理讲解-项目实战 <-> 多目标跟踪算法之DeepSORT