本篇文章主要基于python语言和OpenCV库(cv2)进行车牌区域识别和字符分割,开篇之前针对在python中安装opencv的环境这里不做介绍,可以自行安装配置!

车牌号检测需要大致分为四个部分:

1.车辆图像获取

2.车牌定位、

3.车牌字符分割

4.车牌字符识别

具体介绍

车牌定位需要用到的是图片二值化为黑白后进canny边缘检测后多次进行开运算与闭运算用于消除小块的区域,保留大块的区域,后用cv2.rectangle选取矩形框,从而定位车牌位置

车牌字符的分割前需要准备的是只保留车牌部分,将其他部分均变为黑色背景。这里我采用cv2.grabCut方法,可将图像分割成前景与背景。分割完成后,再经过二值化为黑白图后即可进行字符分割。由于图像中只有黑色和白色像素,因此我们需要通过图像的白色像素和黑色像素来分割开字符。即分别通过判断每一行每一列的黑色白色像素值的位置,来定位出字符。

具体步骤如下:

1.灰度转换:将彩色图片转换为灰度图像,常见的R=G=B=像素平均值。

2.高斯平滑和中值滤波:去除噪声。

3.Sobel算子:提取图像边缘轮廓,X方向和Y方向平方和开跟。

4.二值化处理:图像转换为黑白两色,通常像素大于127设置为255,小于设置为0。

5.膨胀和细化:放大图像轮廓,转换为一个个区域,这些区域内包含车牌。

6.通过算法选择合适的车牌位置,通常将较小的区域过滤掉或寻找蓝色底的区域。

7.标注车牌位置

8.图像切割和识别

通过代码实现:

运行效果如图所示

车牌定位并进行处理

车牌分割如图所示

python车牌字符分割_OpenCV+Python识别车牌和字符分割的实现相关推荐

  1. python图像人类检测_OpenCV人类行为识别(3D卷积神经网络)

    1. 3D卷积神经网络 相比于2D 卷积神经网络,3D卷积神经网络更能很好的利用视频中的时序信息.因此,其主要应用视频.行为识别等领域居多.3D卷积神经网络是将时间维度看成了第三维. 人类行为识别的实 ...

  2. python视频人脸检测_OpenCV + python 实现人脸检测(基于照片和视频进行检测)

    OpenCV + python 实现人脸检测(基于照片和视频进行检测) Haar-like 通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征 ...

  3. python opencv 录制视频_OpenCV Python 录制视频

    学到实用OpenCV调用笔记本电脑的摄像头,并录制视频保存到本地硬盘的时候,出现了一点故障,那就是获取到的文件总是为0KB.经过一番查找,终于找到了解决办法. 调用摄像头 调用摄像头作为本实验的基础是 ...

  4. python腐蚀膨胀代码_OpenCV+python实现膨胀和腐蚀的示例

    1,概念及原理: 膨胀(Dilating) (或) (1)将图像 A 与任意形状的内核 (B),通常为正方形或圆形,进行卷积. (2)内核 B 有一个可定义的 锚点, 通常定义为内核中心点. (3)进 ...

  5. python实现运动模糊图像_OpenCV+Python实现图像运动模糊和高斯模糊

    原标题:OpenCV+Python实现图像运动模糊和高斯模糊 运动模糊:由于相机和物体之间的相对运动造成的模糊,又称为动态模糊 OpenCV+Python实现运动模糊,主要用到的函数是cv2.filt ...

  6. python实现运动模糊图像_OpenCV+Python实现图像运动模糊和高斯模糊!它是编程界的PS!...

    运动模糊: 由于相机和物体之间的相对运动造成的模糊,又称为动态模糊 OpenCV+Python实现运动模糊,主要用到的函数是cv2.filter2D(): # coding: utf-8 import ...

  7. python制作七夕礼物_OpenCV+Python制作程序七夕(情人节)礼物

    1. 按 不知不觉七夕就过去了! 如果有对象,祝早生贵子!没有对象,祝早结连理! (搞笑一下,祝大家幸福美满吧,嘿嘿嘿) 给大家准备了一份已经写好的代码,利用Python+OpenCV+OpenPyX ...

  8. python opencv压缩图片_OpenCV Python 缩放图片

    By 凌顺 2019年9月12日 本示例使用的OpenCV版本是:4.1.1 运行Python的编辑器:Jupyter notebook 示例目的 使用OpneCV的cv2.resize()函数对图片 ...

  9. python画实心圆_OpenCV python 绘制随机实心圆

    OpenCV python 绘制随机实心圆 import numpy as np import cv2 def main(): # 1.创建白色背景图片 d = 400 img = np.ones(( ...

最新文章

  1. golang中的读写锁
  2. java防止上传恶意文件_从补丁分析到在野利用:揭秘CVE20201464 Windows文件签名验证绕过漏洞疑云...
  3. 【LeetCode】查找只出现一次的数字算法
  4. iOS Coding项目片段记录(五)
  5. SolrCloud Hello Word
  6. 【笔试/面试】 —— 最长递增子序列
  7. python气象卫星云图解析_【我教你系列】想要实时的地球图像作为桌面?
  8. java调用萤石对讲_使用java封装萤石开放平台的接口
  9. 计算机nls数据丢失损坏无法启动,系统开机出现由于NLS数据丢失或损坏
  10. sh股票是什么意思?
  11. python七巧板绘图_记录一次canvas绘图(七巧板)
  12. IP地址、IPv4和IPv6的关系
  13. 2020年淘宝年货销量数据监控可视化
  14. java路由总线_网易考拉Android客户端路由总线设计
  15. SpringBoot通过RestTemplate远程调用其他微服务
  16. git merge --no--ff 详解
  17. 解决:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
  18. [渝粤教育] 中国矿业大学 高级语言程序设计 参考 资料
  19. JS 移除数组中指定索引项
  20. Python中可以使用字符串处理函数来删除指定的字符或者字符集合。在这篇文章中,我们将会介绍如何使用Python来删除一个或多个指定字符。作为标题,《用Pyth...

热门文章

  1. MVC和MTV初步认识+django的一个简单应用(萌新交流互动,欢迎大家指出错误)
  2. 特岗计算机专业知识考试考什么,特岗教师考试笔试内容是什么 应该怎样复习...
  3. Linux valgrind java_Ubuntu下使用valgrind所遇问题
  4. 加入HA后的完全分布式集群搭建
  5. java类 权限修饰词_java-学习笔记-访问权限修饰词一
  6. NLP︱高级词向量表达(一)——GloVe(理论、相关测评结果、Rpython实现、相关应用)
  7. OpenCV之滑动条的创建和使用
  8. 微服务:更愉快还是更嘈杂?
  9. 移动端常见bug汇总001
  10. ArcGIS Engine中如何获取Map中已经选择的要素呢(转)