opencv实战项目:基于opencv的车牌号码识别
首先,呈上我自己根据代码写的步骤流程,方便记忆,字有点丑,哈哈哈!!!
好吧,图片看不清,那就上代码
import cv2
import imutils
import numpy as np
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'D:\Program Files\Tesseract-OCR\tesseract.exe'img = cv2.imread('D:/skoda1.png',cv2.IMREAD_COLOR)
img = cv2.resize(img, (600,400) )gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = cv2.bilateralFilter(gray, 13, 15, 15) edged = cv2.Canny(gray, 30, 200)
contours = cv2.findContours(edged.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
contours = imutils.grab_contours(contours)
contours = sorted(contours, key = cv2.contourArea, reverse = True)[:10]
screenCnt = Nonefor c in contours:peri = cv2.arcLength(c, True)approx = cv2.approxPolyDP(c, 0.018 * peri, True)if len(approx) == 4:screenCnt = approxbreakif screenCnt is None:detected = 0print ("No contour detected")
else:detected = 1if detected == 1:cv2.drawContours(img, [screenCnt], -1, (0, 0, 255), 3)mask = np.zeros(gray.shape,np.uint8)
new_image = cv2.drawContours(mask,[screenCnt],0,255,-1,)
new_image = cv2.bitwise_and(img,img,mask=mask)(x, y) = np.where(mask == 255)
(topx, topy) = (np.min(x), np.min(y))
(bottomx, bottomy) = (np.max(x), np.max(y))
Cropped = gray[topx:bottomx+1, topy:bottomy+1]text = pytesseract.image_to_string(Cropped, config='--psm 11')
print("programming_fever's License Plate Recognition\n")
print("Detected license plate Number is:",text)
img = cv2.resize(img,(500,300))
Cropped = cv2.resize(Cropped,(400,200))
cv2.imshow('car',img)
cv2.imshow('Cropped',Cropped)cv2.waitKey(0)
cv2.destroyAllWindows()
这里由于时间长了,有些api忘记咋用了,就又重新搜索下如下:
双边滤波bilateralFilter
imutils.grab_contours的作用
findContours函数参数详解
开头代码的文件下载方法
tesseract 安装及使用
具体代码和项目解析可以看’小白视觉‘公众号、网上都能搜到
总结下吧
感觉前面很基础就利用opencv的基础预处理图像,后面主要是找轮廓进行裁剪字符分割与字符识别。
opencv实战项目:基于opencv的车牌号码识别相关推荐
- 【项目实战】Python基于OpenCV和卷积神经网络CNN进行车牌号码识别项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 车牌识别系统(Vehicle License Plate Rec ...
- [OpenCV实战]47 基于OpenCV实现视觉显著性检测
人类具有一种视觉注意机制,即当面对一个场景时,会选择性地忽略不感兴趣的区域,聚焦于感兴趣的区域.这些感兴趣的区域称为显著性区域.视觉显著性检测(Visual Saliency Detection,VS ...
- python的快车智能车牌号码识别系统的开发
It is not always possible to prove some crimes. To achieve this, modern tools may be needed which mu ...
- 实战:基于OpenCV 的车牌识别
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 车牌识别是一种图像处理技术,用于识别不同车辆.这项技术被广泛用于各 ...
- 基于python+OpenCV的车牌号码识别
基于python+OpenCV的车牌号码识别 车牌识别行业已具备一定的市场规模,在电子警察.公路卡口.停车场.商业管理.汽修服务等领域已取得了部分应用.一个典型的车辆牌照识别系统一般包括以下4个部分: ...
- 实战:基于OpenCV实现偏斜文档校正
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|OpenCV学堂 纸质文档扫描中经常会发生扫描出来的图像有 ...
- 实战:基于OpenCV的人眼检测
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 一.背景 无论学习什么,实践都非常重要.如果打算学习OpenCV. ...
- 再次升级,985博士整理的71个OpenCV实战项目教程开放下载!
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 近期小白学视觉公众号推出了多篇Python+OpenCV实战项目的 ...
- 实战:基于OpenCV进行长时间曝光(内含彩蛋)
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在本文中,我们将学习长时间曝光摄影技术,以及如何使用Python和 ...
- 重磅升级,52个Python+OpenCV实战项目教你掌握图像处理
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 近期小白学视觉公众号推出了多篇Python+OpenCV实战项目的 ...
最新文章
- 《当下的哲学》[法]阿兰.巴迪欧(作者)epub+mobi+azw3格式下载
- PMP之项目风险管理---实施定性风险分析
- logback.xml中MaxHistory日志文件保留天数
- Wi-Fi 6 认证计划启动:开启 Wi-Fi 新纪元
- 【转】DataGridView之为每行前面添加序号
- yyuc php,YYUC框架与YYUC手册资料下载 | 无名
- 大学计算机aoa学什么,浙江省高校计算机二级AOA考试excel试题及解析.xls
- 第九节 html特殊文字符号
- 球体弹性碰撞位置和速度计算算法
- ubuntu系统学习(1) 测网速命令/实时显示网速speedometer
- 《英语语法新思维初级教程》学习笔记(九)进行时态
- about 松峰山:
- 团建游戏----啦啦队
- 用js将二维数组转为json格式字符串
- 低配本用win10服务器系统,低配电脑用win7还是win10比较好_低配置电脑装win7还是win10系统合适...
- [C语言]倒序输出字符串
- 企业服务总线(ESB)技术与革新
- OC中,类的基础知识
- 职业资格证书查询与验证
- java class dex_class文件与dex文件分析