基于OpenCV简单的车牌识别

news/2024/11/29 19:41:31/

 

OpenCV是计算机视觉中经典的专用库,其支持多语言、跨平台,功能强大。

OpenCV-Python为OpenCV提供了Python接口,使得使用者在Python中能够调用C/C++,在保证易读性和运行效率的前提下,实现所需的功能。

OpenCV-Python Tutorials是官方提供的文档,其内容全面、简单易懂,使得初学者能够快速上手使用。

OpenCV-Python Tutorials官方文档:OpenCV: OpenCV-Python Tutorials

学习网址OpenCV中文官方文档

参考上一篇博客下载opencv模块包才能开始使用

代码结构:

0c3a5131dec046f8b5b0060f40fc5f2b.png

 车牌识别代码

import cv2img = cv2.imread("./img/cp.png")
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("gray", img_gray)
cv2.waitKey(0)img_thre = img_gray
cv2.threshold(img_gray, 100, 255, cv2.THRESH_BINARY_INV, img_thre)
cv2.imshow("threshold", img_thre)
cv2.waitKey(0)cv2.imwrite("thre_res.png", img_thre)white = []
black = []
height = img_thre.shape[0]
width = img_thre.shape[1]
white_max = 0
black_max = 0for i in range(width):s = 0t = 0for j in range(height):if img_thre[j][i] == 255:s += 1if img_thre[j][i] == 0:t += 1white_max = max(white_max, s)black_max = max(black_max, t)white.append(s)black.append(t)print(s)print(t)arg = False
if black_max > white_max:arg = Truedef find_end(start_):end_ = start_ + 1for m in range(start_ + 1, width - 1):if (black[m] if arg else white[m]) > (0.95 * black_max if argelse 0.95 * white_max):end_ = mbreakreturn end_n = 1
start = 1
end = 2
while n < width - 2:n += 1if (white[n] if arg else black[n]) > (0.05 * white_max if argelse 0.05 * black_max):start = nend = find_end(start)n = endif end - start > 5:cj = img_thre[1:height, start:end]cv2.imshow("caijian", cj)cv2.waitKey(0)

查看效果:

4b94d5a98cc04d968930b7efa611f743.png

 

7cd1d893e8d146939df9b472472e0933.png

8d1f0a0d7e62413bb1b58f9d4111620c.png 

 34a15210926340b08b384ef693278c71.png

 d29a6136b92b4ee6bfe54b79dcbd9e62.png

 99ff8431958d489ba1b12b2275b9550f.png98aa249346314d2d83575f194adf173d.png

 

98aa249346314d2d83575f194adf173d.png

 6bee0e55fbdf4c17a4faed5af2878724.png

98aa249346314d2d83575f194adf173d.png

 可以全提取出来

 

代码精度不高可以自己研究不断完善

 

 


http://www.ppmy.cn/news/862852.html

相关文章

车牌检测和识别

视频车牌检测与识别 综合网上上各种车牌识别方法&#xff0c;总结出一个较为简单的车牌识别方案&#xff0c;采用VS2013OpenCv2.4.9实现。并且附上可运行的源代码以及测试图片和视频&#xff0c;详细参数设置请参照源代码。识别部分的训练样本见我上传的资源。 实现方法 (一)…

【智慧交通项目实战】《 OCR车牌检测与识别》(一)项目介绍

👨‍💻作者简介: CSDN、阿里云人工智能领域博客专家,新星计划计算机视觉导师,百度飞桨PPDE,专注大数据与AI知识分享。✨公众号:GoAI的学习小屋 ,免费分享书籍、简历、导图等,更有交流群分享宝藏资料,关注公众号回复“加群”或➡️点击链接 加群。 🎉专栏推荐: 点…

车牌号识别 python + opencv

&#xfeff;&#xfeff; 包括算法和客户端界面&#xff0c;只有2个文件&#xff0c;surface.py是界面代码&#xff0c;predict.py是算法代码&#xff0c;界面不是重点所以用tkinter写得很简单。 使用方法&#xff1a; 版本&#xff1a;python3.4.4&#xff0c;opencv3.4和nu…

开源大盘点 | 各国车牌识别开源数据集汇总

编辑 | 极市平台 点击下方卡片&#xff0c;关注“自动驾驶之心”公众号 ADAS巨卷干货&#xff0c;即可获取 点击进入→自动驾驶之心【全栈算法】技术交流群 后台回复【数据集下载】获取计算机视觉近30种数据集&#xff01; 导读 本文整理了11个车牌检测识别相关的开源数据集资…

汽车车牌框的位置识别

前言 现在已经2020年&#xff0c;相信大家都经常看到进停车场前对汽车车牌的自动识别&#xff0c;方便、速度快、又精确。也不太清楚这个的原理到底是利用深度学习识别还是使用传统的图像处理、识别 。最近&#xff0c;我这里就写了一小段代码来实现对车牌框的位置进行定位。当…

【Nacos】安装和使用(Windows)

下载网址 github官方 下载编译好的版本 文件解压 启动服务 1.打开cmd&#xff0c;到bin文件夹的路径下 例如我的是cd C:\Users\HP\Desktop\nacos-server-2.2.3\nacos\bin 2.使用命令启动Nacos startup.cmd -m standalone 访问后台页面 在浏览器输入地址&#xff1a;http…

时代经纬面试(部分)

用Netty时怎么处理粘包和拆包的情况?参考答案1&#xff1a; 消息定长。发送端将每个数据包封装为固定长度&#xff08;不够的可以通过补0填充&#xff09;。设置消息边界。比如在包尾增加回车换行符进行分割。将消息分为头部和消息体&#xff0c;在头部中保存当前整个消息的长…

昨天终于下到了超级女声---五强专集--张靓颖特辑

300多Mb,下了4个小时左右. 来自 “ ITPUB博客 ” &#xff0c;链接&#xff1a;http://blog.itpub.net/936/viewspace-60622/&#xff0c;如需转载&#xff0c;请注明出处&#xff0c;否则将追究法律责任。 转载于:http://blog.itpub.net/936/viewspace-60622/