点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
目录
1)目的和简介
2)前言
3)使用OpenCV和Haar级联进行车牌检测
4)使用TesseractOCR识别和提取车牌号
目的与简介
当我们谈论AI时,计算机视觉绝对是人们想到的最重要的应用之一。我们一直对它着迷,因为它与人的视线有关,可以说是人的感官中最重要的器官。
我们接触过大量项目涉及的人脸和/或身体的项目。因此,我们决定改为在汽车牌照上开展此项目。我们从事此该项目的另一个原因是,我们在检测到车牌后,准备使用光学字符识别(OCR)来识别,提取和显示检测到的车牌号。
前言
我们将使用Python 来构建我们的项目,并且利用两个开源软件的来实现检测目的,即OpenCV和TesseractOCR。在继续进行操作之前,请按以下步骤在计算机上完全安装这些工具。
(1)安装OpenCV
OpenCV(开源计算机视觉库)是一个开源计算机视觉和机器学习软件库。它主要专注于图像处理,视频捕获和分析,包括人脸检测和物体检测等功能,并有助于为计算机视觉应用程序提供通用的基础结构。
(2)Haar CascadeXML文件
除了安装OpenCV库外,要检索的另一重要内容是Haar Cascade XML文件。这是一种基于机器学习的方法(涉及AdaBoost),其中从许多正负图像中训练级联函数。它利用积分图像(或总面积表)的概念有效地提取特征(例如,边缘,线条)的数值,这胜过了在整个图像的多个区域中减去像素总和的默认计算量大的方式。
另外,它使用“级联分类器”。这意味着不是一次就为图像中的许多特征应用数百个分类器(这是非常低效的),而是一对一地应用分类器。
以人脸图像为例。如果“眼睛”功能的第一个分类器发生故障(即无法检测到图像中的人眼),则该算法不会打扰应用后续的分类器(例如,针对鼻子,针对嘴等)。而是停止并声明未检测到脸部。
另一方面,如果检测到第一个“眼睛”特征,则算法将应用特征分类的第二阶段并继续进行分类过程。最后,如果图像通过所有分类阶段,则可以声明存在面部区域。
实际上,OpenCV附带了各种Haar级联的经过预先训练的XML文件,其中每个XML文件都包含功能集。
(3)TesseractOCR
TesseractOCR是一种开源光学字符识别(OCR)引擎。它被公认为是最流行,最准确的开源OCR引擎之一。有趣的是,该引擎实际上最初是由惠普开发的专有软件,但后来于2005年开源,并且此后的开发一直由Google赞助。以下是安装TesseractOCR(适用于Windows)的说明:
使用Windows安装程序安装TesseractOCR应用程序,该程序可从以下网站获得:https : //github.com/UB-Mannheim/tesseract/wiki。在完成此项目时,我们下载了2020年11月27日(64位)版本(tesseract-