PyTorch + openCV 车牌识别(一)

  • 注意
  • 利用cv识别车牌并切割字符

注意

本项目仅是初学者学习pytorch过程中随手写的,有些地方不够严谨请谅解,仅供参考

利用cv识别车牌并切割字符

  1. 首先下载opencv包并导入一些需要的包
import cv2
import numpy as np
from PIL import Image
  1. 由于是用笔记本电脑,因此我们使用网上寻找的图片进行图像处理,我们导入该图片。
    imread函数中放的是你图片的路径,我们先对图片尺寸进行统一规定,并对原图进行滤波。(滤波这个步骤并不是当时写的时候想到的,而是后面识别效果不佳所以进行一定程度的滤波)
img_init = cv2.imread(self.carlicense_content)  # 加载原始图片
img_resize = cv2.resize(img_init, dsize=(1000, 600), fx=0, fy=0)  # 重置图片尺寸
img_blur = cv2.blur(img_resize, (2, 2))  # 对图片进行降噪
  1. 通过对图片中车牌蓝色域的RGB三通道值进行采集,即可获得其颜色范围,然后依靠inRange()函数将车牌部分选择出来。
    再把该色域内最大面积的部分框出来,便是车牌的区域,记录下矩形的四个角点。
    当然,项目是用来练手的简单项目,所以不考虑透视变换等情况,因为我先择的图片视角都还算正。
lower_limi = np.array([80, 30, 0])  # 设置色域上下界
upper_limi = np.array([230, 110, 70])
img_limi = cv2.inRange(img_blur, lower_limi, upper_limi)  # 选出指定色域(二值化,黑色:0,白色:255)
cont = cv2.findContours(img_limi, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]  # 找出色域外边界
c = max(cont, key=cv2.contourArea)  # 在边界中找最大面积的区域
rect = cv2.minAreaRect(c)  # 绘制出该区域最小外接矩形
box = cv2.boxPoints(rect)  # 记录上述矩形四点坐标
  1. 当然,对于采集图片中某一像素点的RGB三通道值,需要用到鼠标回调函数。需要注意的是,三通道值的显示顺序依次是B,G,R。
def mouse_callback(event, x, y, flags, param):if event == cv2.EVENT_LBUTTONDBLCLK:print('BGR:', img_resize[y, x], 'x:', x, 'y:', y)cv2.setMouseCallback('IMG', mouse_callback)
  1. 在步骤2和3中,所有定义的图片均可用imshow()函数进行显示并验证调试,代码如下,img_resize可替换成其他变量名。
cv2.namedWindow('IMG', cv2.WINDOW_NORMAL)
cv2.imshow('IMG', img_resize)
cv2.waitKey(0)
  1. 实现上述功能后的效果如下图,可通过对IMG图片的鼠标回调函数,显示某像素点的RGB三通道值,因此可获得上述第3步中的上下限值。
    7. 到此,可以通过色域识别在图中框出车牌的位置,如下图:
    8. 我们将第3步里四个点的坐标用来扣出车牌,并存入另一个变量img_final中。再将新的车牌图片二值化。实现效果如下图:
img_final = img_resize[int(min(box[1][1], box[2][1])):int(max(box[0][1], box[3][1])), int(min(box[0][0], box[1][0])):int(max(box[2][0], box[3][0]))]  # 圈出车牌
img_final_resize = cv2.resize(img_final, dsize=(200, 50), fx=0, fy=0)
lower_limi2 = np.array([100, 100, 100])  # 设置色域上下界
upper_limi2 = np.array([255, 255, 255])
img_final_bin = cv2.inRange(img_final_resize, lower_limi2, upper_limi2)


  1. 到此我们可以识别出车牌并进行二值化,接下来需要分割车牌中的每个字符。这方面内容我会放在该项目的第(二)章节说明。

PyTorch + openCV 车牌识别(一)相关推荐

  1. opencv车牌识别入门资料汇总

    使用OpenCV和C++实现的车牌识别系统. http://download.csdn.net/detail/u014743238/7204477 使用VC++6.0做开发工具, 采用简单的SDI框架 ...

  2. 【功能超全】基于OpenCV车牌识别停车场管理系统软件开发【含python源码+PyqtUI界面+功能详解】-车牌识别python 深度学习实战项目

    车牌识别基础功能演示 摘要:车牌识别系统(Vehicle License Plate Recognition,VLPR) 是指能够检测到受监控路面的车辆并自动提取车辆牌照信息(含汉字字符.英文字母.阿 ...

  3. c# opencv车牌识别_毕设有着落了!一套开源的,基于SpringBoot的车牌识别系统

    阅读本文大概需要 4 分钟. 前言 这个项目是良月柒在逛社区时发现的,刚看到它,思绪直接被拉回了几年前,当初有同学的毕设就是停车场管理系统,关键的功能--车牌识别,连硬件都整上了,一整套流程跑下来,p ...

  4. c# opencv车牌识别_opencv +数字识别

    现在很多场景需要使用的数字识别,比如银行卡识别,以及车牌识别等,在AI领域有很多图像识别算法,大多是居于opencv 或者谷歌开源的tesseract 识别. 由于公司业务需要,需要开发一个客户端程序 ...

  5. Python 基于 opencv 车牌识别系统的研究与实现

    源码下载地址:https://download.csdn.net/download/gdutxiaoxu/87419195 原理简介 车牌字符识别使用的算法是opencv的SVM opencv的SVM ...

  6. 基于OpenCV车牌识别及轨迹跟踪

    系统总体设计 本系统主要由三个模块构成分别是:图像采集模块,车牌识别模块和轨迹处理模块. 因为实验条件限制,所以实验时采用一个摄像头拍多个不同时间段的视频,代替多个摄像头的拍摄效果.右图中小矩形框代表 ...

  7. spring boot + maven + opencv 车牌识别系统,包含车牌检测、车牌号识别训练

    yx-image-recognition 介绍 这是一个基于spring boot + maven + opencv 实现的图像识别及训练的Demo项目 包含车牌识别.人脸识别等功能,贯穿样本处理.模 ...

  8. python的opencv 车牌识别 开源_毕节进出口车牌识别系统怎么样

    毕节进出口车牌识别系统怎么样 gzheu8il 毕节进出口车牌识别系统怎么样 系统拓扑图如下:该系统以社区中心机房为枢纽,有机的将智慧家居住户.社区数字化服务.物业数字化管理.社区智能化管理结合起来, ...

  9. opencv 车牌识别---新能源车牌处理(二值化后按位取反)

    场景: 在对车牌号进行识别时,不能识别出新能源车牌的车牌号. 问题原因:   因为我们的识别模板都是黑底白字,新能源的车牌进行二值化处理后都是白地黑字. 模板: 新能源车牌原图(部分): 新能源车牌二 ...

最新文章

  1. 安装 Fedora 21 工作站后要做的10件事情
  2. 《解释性机器学习》笔记(五):Rule Fit 规则拟合
  3. Ubuntu使用——23(dock的美化)
  4. mybatis逆向工程生成的Example类的使用
  5. DSAPI多功能组件编程应用-HTTP监听服务端与客户端
  6. C#面向对象系列(2):构造函数的用法
  7. sql checksum_SQL Server中的CHECKSUM页面验证
  8. 写给我--过去,现在,未来
  9. 2021年十大热门编程语言
  10. Arduino 利用串口缓冲区监听的方式读取数据
  11. 视频教程-PO设计模式(精讲)-软件测试
  12. Mybatis的模糊查询写法
  13. 淘宝商品详情(新版)
  14. PyQt实现按钮控件的拖动效果,利用鼠标移动事件实现。
  15. php2twig,php twig是什么意思
  16. PIXEL C 未支持命令(remote: unsupported command)解决记录
  17. js vue 下载excel(.xls)文件
  18. 磨皮美白搞笑图片处理
  19. 球面图绘制函数-sphere
  20. [网鼎杯2018]Unfinish

热门文章

  1. 串联和并联电阻办法的阻抗匹配方法解析
  2. PHP小程序接口的模板消息,微信小程序PHP 发送模板消息通知
  3. python七夕快乐_用python度过一个温馨的单身七夕节-安利篇
  4. Linux指令入门学习
  5. windows中hid操作api介绍
  6. 基于android欢乐写数字6,欢乐数独2020
  7. IG (information gain)
  8. SD卡、TF卡的基本了解
  9. 耶鲁大学开放课程:《聆听音乐》6CD下载地址
  10. android禁止录屏功能,react-native(安卓)项目中禁止截屏与录屏