Python-车牌识别

一.车牌识别系统的用途与技术
车牌识别系统(Vehicle License Plate Recognition,VLPR) 是计算机视频图像识别技术在车辆牌照识别中的一种应用。车牌识别在高速公路车辆管理中得到广泛应用,电子收费(ETC)系统中,也是结合DSRC技术识别车辆身份的主要手段。

车牌识别技术要求能够将运动中的汽车牌照从复杂背景中提取并识别出来,通过车牌提取、图像预处理、特征提取、车牌字符识别等技术,识别车辆牌号、颜色等信息,目前最新的技术水平为字母和数字的识别率可达到99.7%,汉字的识别率可达到99%。

在停车场管理中,车牌识别技术也是识别车辆身份的主要手段。在深圳市公安局建设的《停车库(场)车辆图像和号牌信息采集与传输系统技术要求》中,车牌识别技术成为车辆身份识别的主要手段。

车牌识别技术结合电子不停车收费系统(ETC)识别车辆,过往车辆通过道口时无须停车,即能够实现车辆身份自动识别、自动收费。在车场管理中,为提高出入口车辆通行效率,车牌识别针对无需收停车费的车辆(如月卡车、内部免费通行车辆),建设无人值守的快速通道,免取卡、不停车的出入体验,正改变出入停车场的管理模式。

二.运用Python代码完成车牌识别
1.将给定车牌圈出,并保存在文件夹中。
2.将车牌中的数字和文字圈出、并保存在文件夹中。

思路分析:
对图片进行一些预处理,包括灰度化、高斯平滑、中值滤波、Sobel算子边缘检测等等。

对预处理后的图像进行轮廓查找,然后根据一些RGB参数判断该轮廓是否为车牌轮廓。

import cv2
import numpy as np
image = cv2.imread(‘C:\\Users\\sunyu\\Desktop\\sy.jpg‘)
cv2.imshow("image", image)
hsv_img = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
lower = np.array([110, 100, 150])
upper = np.array([125, 200, 255])
mask = cv2.inRange(hsv_img, lowerb=lower, upperb=upper)
kernel = np.ones((5,5), np.uint8)
mask = cv2.dilate(mask, kernel, iterations=10)
cv2.imshow("mask", mask)
contours, hier = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
#cv2.waitKey(0)
for c in contours:
# find bounding box coordinates
# 现计算出一个简单的边界框
x, y, w, h = cv2.boundingRect(c) # 将轮廓信息转换成(x, y)坐标,并加上矩形的高度和宽度
if w < 2*h:
continue
#cv2.imwrite(‘con‘+str(index)+‘.jpg‘, result[y:y+h, x:x+w])
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2) # 画出矩形
new = image[y:y+h, x:x+w]
gray = cv2.cvtColor(new.copy(), cv2.COLOR_BGR2GRAY) # 灰度图
ret, thresh = cv2.threshold(gray, 160, 255, cv2.THRESH_BINARY) # 阈值分割
contours, hier = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

index = 0
for c in contours:
# find bounding box coordinates
# 现计算出一个简单的边界框
x, y, w, h = cv2.boundingRect(c) # 将轮廓信息转换成(x, y)坐标,并加上矩形的高度和宽度
if w > 40:
continue
index = index+1
cv2.rectangle(new, (x, y), (x+w, y+h), (0, 255, 0), 2) # 画出矩形
cv2.imwrite(‘C:\\Users\\sunyu\\Desktop\\pi\\s‘ + str(index)+‘.jpg‘,new)
cv2.imshow(‘new‘, new)
cv2.imwrite(‘C:\\Users\\sunyu\\Desktop\\pi\\s.jpg‘,new)
cv2.waitKey(0)

本代码中的图片路径根据读者情况随机应变。

三.结果展示

以上就是车牌识别代码,愿有所帮助,

不是为了优秀而优秀,不需要被别人定义,因为我有my logo。

原文地址:https://www.cnblogs.com/sunyue2022/p/smily.html

时间: 2024-10-24 20:36:25

Python-车牌识别的相关文章

利用百度云接口实现车牌识别&#183;python

一个小需求---实现车牌识别. 目前有两个想法 1. 调云在线的接口或者使用SDK做开发(配置环境和编译第三方库很麻烦,当然使用python可以避免这些问题) 2. 自己实现车牌识别算法(复杂) 一开始准备使用百度云文字识别C++ SDK来做,发现需要准备curl.jsoncpp和OpenCV,并且curl和jsoncpp需要自己编译,很麻烦,所以换用了python来做,真的是顺畅简单. 1. 安装python环境(我用python3.7) python官网下载地址:https://www.py

Python+Keras+TensorFlow车牌识别

这个是我使用的车牌识别开源项目的地址:https://github.com/zeusees/HyperLPR Python 依赖 Anaconda for Python 3.x on Win64 Keras (>2.0.0) Theano(>0.9) or Tensorflow(>1.1.x) Numpy (>1.10) Scipy (0.19.1) OpenCV(>3.0) Scikit-image (0.13.0) PIL 准备工作:安装以下依赖包 pip install

毕业设计 python opencv实现车牌识别 界面

主要代码参考https://blog.csdn.net/wzh191920/article/details/79589506 GitHub:https://github.com/yinghualuowu 答辩通过了,补完~ 这里主要是用两种方法进行定位识别 # -*- coding: utf-8 -*- __author__ = '樱花落舞' import tkinter as tk from tkinter.filedialog import * from tkinter import ttk

基于opencv的车牌识别系统

前言 学习了很长一段时间了,需要沉淀下,而最好的办法就是做一个东西来应用学习的东西,同时也是一个学习的过程. 概述     OpenCV的全称是:Open Source Computer Vision Library.OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算

目标检测---搬砖一个ALPR自动车牌识别的环境

参考License Plate Detection and Recognition in Unconstrained Scenarios@https://www.cnblogs.com/greentomlee/p/10863363.html@https://github.com/sergiomsilva/alpr-unconstrained 环境The current version was tested in an Ubuntu 16.04 machine, with Keras 2.2.4,

车牌OCR识别的流程,手机车牌识别

车牌的OCR识别的流程如下: 手机车牌识别背景 随着人们生活水平的提高,汽车方面的业务量也日益暴涨,加上如今"互联网+"的提出,智能终端(智能手机及平板电脑)及移动通信(4G)发展迅速,人们用手机的频率比用电脑的多,加上手机小巧轻便,成为生活中必要的工作及社交工具,可以预见未来几年60%以上的业务将会逐渐转移到智能终端系统上来.伴随着移动端APP的火爆应用,易泊将原来应用在电脑端的车牌识别技术转移到了移动端,手机车牌识别更加灵活,方便,为人们的应用解决了很多实际困难. 手机车牌识别描述

车牌识别系统,助力智慧城市

城市在发展进程中总会遇到各种各样的问题,如今看来,例如停车,停车难已经成为一线二线城市,城市化过程中一个畅聊的话题,停车位少.停车位不好找.停车收费慢等等,所以今天我们要讨论的话题就是车牌识别一体机对提高城市停车管理的重要性,车牌识别一体机不仅可以减轻停车场负担,收费难管理难的压力,还能为安防等行业,提供便利. 城市在设计的过程中,优化了停车场的布局,在建设停车场的时候更加的人性化.方便化,比如立体车库的不断涌现.当然,我们如何知道停车场内是否有空余车位.哪个位置有停车位.这就离不开车牌识别的作

车牌识别及验证码识别的一般思路

http://www.pin5i.com/showtopic-22246.html 描述一下思路及算法. 全文分两部分,第一部分讲车牌识别及普通验证码这一类识别的普通方法,第二部分讲对类似QQ验证码,Gmail验证码这一类变态验证码的识别方法和思路. 一.车牌/验证码识别的普通方法 车牌.验证码识别的普通方法为: (1)      将图片灰度化与二值化 (2)      去噪,然后切割成一个一个的字符 (3)      提取每一个字符的特征,生成特征矢量或特征矩阵 (4)      分类与学习.

车牌识别算法介绍与实践

汽车牌照自己主动识别整个处理过程分为预处理.边缘提取.车牌定位.字符切割.字符识别五大模块,当中字符识别过程主要由下面3个部分组成: ①正确地切割文字图像区域: ②正确的分离单个文字: ③正确识别单个字符. 用MATLAB软件编程来实现每个部分,最后识别出汽车牌照. 系统设计概述 因为车辆牌照是机动车唯一的管理标识符号,在交通管理中具有不可替代的作用,因此车辆牌照识别系统应具有非常高的识别正确率,对环境光照条件.拍摄位置和车辆行驶速度等因素的影响应有较大的容阈,而且要求满足实时性要求. 该系统是

论车牌识别与电子警察关系

智能交通系统是21世纪世界道路交通的发展趋势,也是我国建设智慧城市不可或缺的一环.公路交通基础建设的不断发展和车辆管理体制的不断完善,为以视觉监控为基础的智能交通系统的实际应用打下了良好基础.其中电子警察系统的应用是道路交通管理中体现"科技强警"的一项重要举措,缓解了多年来警力不足和交通事故不断攀升之间的矛盾,同时在一定程度上消除了道路交通管理在时间和空间上的"盲点",扩大了交通管理的监控时段和监控范围,减轻了一线交通民警的劳动强度,改善了工作环境,科学准确的信息给