【计算机视觉40例】案例13:车牌识别

导读】本文是专栏《计算机视觉40例简介》的第13个案例《车牌识别》。该专栏简要介绍李立宗主编《计算机视觉40例——从入门到深度学习(OpenCV-Python)》一书的40个案例。

目前,该书已经在电子工业出版社出版,大家可以在京东、淘宝、当当等平台购买。

大家可以在公众号“计算机视觉之光”回复关键字【案例13】获取本文案例的源代码及使用的测试图片等资料。

针对本书40个案例的每一个案例,分别录制了介绍视频。如果嫌看文字版麻烦,可以关注公众号“计算机视觉之光”直接观看视频介绍版。

车牌是车辆的重要身份证明,它在车辆使用过程中发挥着重要的作用。又由于车牌识别涉及到目标定位、图像裁剪划分、字符识别等众多比较关键的知识点,因此它是图像处理学习过程中比较经典的案例之一。

车牌识别的基本原理如图1所示。其主要包含以下三个流程:

  1. 提取车牌:将车牌从复杂的背景中提取出来;
  2. 拆分字符:将车牌划分为一个个独立的字符;
  3. 识别字符:识别从车牌上提取的一个个字符;

【计算机视觉40例】案例13:车牌识别_第1张图片

图1  车牌识别原理

本章中,设计了一个精简的、基于模板匹配的车牌识别系统。该系统仅仅有100行代码,但是包含了车牌识别的基本步骤,希望通过该系统的学习,能够帮助大家更深刻地理解相关知识点。

在车牌识别的过程中,主要包含三个核心模块:提取车牌、分割车牌、识别车牌,下面分别对上述模块进行简单的介绍。

1 提取车牌

该过程将车牌从复杂的环境当中提取出来,需要完成一系列的滤波(去噪)、色彩空间转换等操作,具体如图2所示。

【计算机视觉40例】案例13:车牌识别_第2张图片

图2 提取车牌

2 分割车牌

分割车牌是指将车牌中一个个字符提取出来,以便于后续的识别。通常情况下,需要先对图像进行预处理(主要是去噪、二值化、膨胀等)以方便提取每个字符的轮廓。接下来,寻找车牌内所有轮廓,将其中高宽比符合字符特征的判定为字符。其具体流程如图3所示。

【计算机视觉40例】案例13:车牌识别_第3张图片

图3  分割字符流程

3 识别车牌

本案例以模板匹配方式进行字符的识别,如图4所示。每个字符,依次在模板集中寻找与自己最相似的模板,从而识别当前字符。

【计算机视觉40例】案例13:车牌识别_第4张图片

图4  匹配原理

在《计算机视觉40例——从入门到深度学习(OpenCV-Python)》一书中,从算法原理、实现流程等角度系统深入地介绍了该案例的理论基础和实现过程,并对具体的代码实现进行了细致的介绍与解释。欢迎大家阅读第13章《车牌识别》获取详细内容。

《计算机视觉40例——从入门到深度学习(OpenCV-Python)》在介绍Python基础、OpenCV基础、计算机视觉理论基础、深度学习理论的基础上,介绍了计算机视觉领域内具有代表性的40个典型案例。这些案例中,既有传统的案例(数字识别、答题卡识别、物体计数、缺陷检测、手势识别、隐身术、以图搜图、车牌识别、图像加密、指纹识别等),也有深度学习案例(图像分类、风格迁移、姿势识别、实例分割等),还有人脸识别方面的案例(表情识别、驾驶员疲劳监测、识别性别与年龄等)。

【计算机视觉40例】案例13:车牌识别_第5张图片

你可能感兴趣的:(计算机视觉40例简介,计算机视觉,opencv,python,计算机视觉40例,计算机视觉案例)