人工智能|车牌定位简介

简介: 人工智能|车牌定位简介

问题描述

1.当拍摄一张包含车牌信息的照片时,往往还含有一些不必要的信息,这些信息在人眼中很容易被过滤,但是对于电脑来说,分辨出非有用信息是非常困难的,所以需要为电脑设计一些方法,帮助它去除无用信息,也就是提取需要的车牌区域。

解决方案

2.1 方法原理

提取车牌区域的原理是先将图片中车牌区域的轮廓表示出来,再去除一些不必要的区域,然后将轮廓连通的区域进行填充,最后利用车牌的面积、长宽比例的特点,将车牌区域在原图中划分出来

2.2 步骤

2.2.1图像预处理

图像预处理主要是对图像灰度化和二值化,灰度化图像后更有利于不必要信息的去除,在选择灰度化方法时,可以采用电视工业标准,二值化后的图像则有利于Canny算法的轮廓提取。

2.2.2提取轮廓边缘

边缘的提取主要是采用Canny算法,将图像区域中边缘点提取出来,Canny算法的图像增强步骤中有几种专门的算子,对于车牌区域的提取,一般选用soble算子。

2.2.3去除部分轮廓

去除部分轮廓的原理是先通过闭操作将图像的轮廓进行填充,再通过开操作将图像中的不满足车牌区域特点的轮廓过滤掉,部分Python代码如下:

#进行闭运算

kernel = np.ones((5, 15), np.uint8)#设置结构元素

    closingimg = cv.morphologyEx(DT, cv.MORPH_CLOSE, kernel)

    cv.imshow('closingimg', closingimg)

    cv.waitKey(0)

    cv.destroyAllWindows()

    # 进行开运算

    opening_img1=cv.morphologyEx(closingimg,cv.MORPH_OPEN, kernel)

    cv.imshow('opening_img', opening_img)

    cv.waitKey(0)

    cv.destroyAllWindows()

    # 再次进行开运算

    Kerne2 = np.ones((25, 5), np.uint8)#设置新的结构元素

    opening_img2=cv.morphologyEx(opening_img1,cv.MORPH_OPEN, kerne2)

    cv.imshow('opening_img2', opening_img2)

    cv.waitKey(0)

    cv.destroyAllWindows()

上述部分代码是运用闭操作和开操作的python代码,由于图像预处理和Canny算法提取图像轮廓之前已经有讲解,这里就省略了那一部分得大量代码。实验结果如下:

   

2.2.3.1 原始车牌图像

图2.2.3.2 去除一些区域的轮廓图

2.2.4提取车牌部分轮廓

提取车牌轮廓可以根据车牌得长宽比例和面积特点,将图像中的车牌部分标准出来,需要对得到的图像进行寻找、绘制轮廓的操作,这个步骤可以使用cv2findContoursdrawContours函数来完成;最后通过绘制的轮廓在原图中相应位置上进行车牌区域提取。

结语

3.本方法适合用于正面拍摄的车牌图片,可以有效的将车牌区域提取出来,需要注意的是,一些图片的效果可能会不理想,这跟图片拍摄的环境和角度都有关系,同时,结构元素的选取也可以变动,这也造成了提取效果的不同,所以对于车牌提取的算法还需要不断的进行优化。


目录
相关文章
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能】TensorFlow简介,应用场景,使用方法以及项目实践及案例分析,附带源代码
TensorFlow是由Google Brain团队开发的开源机器学习库,广泛用于各种复杂的数学计算,特别是涉及深度学习的计算。它提供了丰富的工具和资源,用于构建和训练机器学习模型。TensorFlow的核心是计算图(Computation Graph),这是一种用于表示计算流程的图结构,由节点(代表操作)和边(代表数据流)组成。
47 0
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
揭开AI的神秘面纱:人工智能简介
这是一篇人工智能简介,从人工智能的定义,起源,分类,相关技术,应用前景与存在的挑战几个方面介绍人工智能
|
3月前
|
机器学习/深度学习 人工智能 文字识别
文本,文字扫描01,OCR文本识别技术展示,一个安卓App,一个简单的设计,文字识别可以应用于人工智能,机器学习,车牌识别,身份证识别,银行卡识别,PaddleOCR+SpringBoot+Andr
文本,文字扫描01,OCR文本识别技术展示,一个安卓App,一个简单的设计,文字识别可以应用于人工智能,机器学习,车牌识别,身份证识别,银行卡识别,PaddleOCR+SpringBoot+Andr
|
12月前
|
人工智能 机器人
人工智能 AI 绘画 AI绘制的图片 ? 简介的版权,以及如何使用图像生成AI 绘画 ?
人工智能 AI 绘画 AI绘制的图片 ? 简介的版权,以及如何使用图像生成AI 绘画 ?
317 0
|
5月前
|
人工智能 前端开发 Java
软件测试/人工智能|熟练使用web控件定位技巧,提升测试工作效率!
软件测试/人工智能|熟练使用web控件定位技巧,提升测试工作效率!
216 1
|
机器学习/深度学习 人工智能 算法
CV之Face Change:基于人工智能实现国内众多一线美女明星换脸(基于Face++输出4*106个特征点定位+融合代码、deepfake技术)
CV之Face Change:基于人工智能实现国内众多一线美女明星换脸(基于Face++输出4*106个特征点定位+融合代码、deepfake技术)
CV之Face Change:基于人工智能实现国内众多一线美女明星换脸(基于Face++输出4*106个特征点定位+融合代码、deepfake技术)
|
5月前
|
XML 人工智能 测试技术
软件测试/人工智能|详解selenium xpath定位
软件测试/人工智能|详解selenium xpath定位
87 2
|
机器学习/深度学习 人工智能 自然语言处理
人工智能入门指南:Web 开发者版 (1)简介
本节将介绍人工智能(Artificial Intelligence, AI)的概念以及它在 Web 开发中的应用。我们将深入探讨 AI 的基本原理和方法,并提供一些具体的代码示例,帮助你理解如何将 AI 技术应用到 Web 开发中
171 0
|
机器学习/深度学习 数据采集 人工智能
2023年A系列人工智能领域文章计划和简介
人工智能是一种快速发展的领域,它涉及多个学科,包括数学、计算机科学、统计学等等。初学者应该掌握一些基本的理论知识,以及编程语言Python的基础知识。在理论方面,初学者应该掌握基础数学知识,如线性代数、微积分和概率论等,这些理论知识是人工智能的基础。此外,初学者应该了解一些机器学习和深度学习的基础知识,如分类、聚类、回归、神经网络等等。在编程方面,初学者应该掌握Python编程语言的基础知识,包括变量、数据类型、循环、条件语句等等。此外,初学者还应该学习一些常用的Python库和框架,如NumPy、Pandas、Matplotlib、Scikit-learn等等。
169 0
2023年A系列人工智能领域文章计划和简介
|
机器学习/深度学习 传感器 人工智能
AI:人工智能的多模态融合模型的简介、发展以及未来趋势
AI:人工智能的多模态融合模型的简介、发展以及未来趋势
AI:人工智能的多模态融合模型的简介、发展以及未来趋势

热门文章

最新文章

下一篇
无影云桌面