模型:用hyperlpr3实现图片和视频中的车牌号提取
文章目录
- 一、识别图片中的车牌号
- 二、识别视频中的车牌号
参考地址:GitHub
本文用的python 3.7.16,安装hyperlpr3
pip install hyperlpr3
一、识别图片中的车牌号
多车牌号也能识别,返回格式如下:
[['浙B1G57J', 0.9647215, 0, [589, 388, 654, 412]], ['浙BY5P27', 0.9972318, 0, [133, 377, 198, 401]]]
import cv2
import hyperlpr3 as lpr3catcher = lpr3.LicensePlateCatcher()def carRead(image_path):image = cv2.imread(image_path)return catcher(image)
二、识别视频中的车牌号
最后输出:文件名、总帧数、当前帧数、总时长、当前时长、车牌号、置信度
import cv2
import os
import hyperlpr3 as lpr3
import timedef videoRead(video_path):# 获取视频文件名video_name = os.path.basename(video_path)# 打开视频文件videoCapture = cv2.VideoCapture(video_path)# 实例化识别对象catcher = lpr3.LicensePlateCatcher()# 获取视频帧率fps = videoCapture.get(cv2.CAP_PROP_FPS)# 总帧数total_frames = int(videoCapture.get(cv2.CAP_PROP_FRAME_COUNT))# 总时长total_seconds = round(total_frames / fps, 2)# 设置每间隔2秒读取一帧skip_frames = int(fps * 2)aiRes = []# 循环读取视频帧while videoCapture.isOpened():# 读取视频一帧success, frame = videoCapture.read()# 如果可以成功读到一帧,则进行车牌识别if success:# 通过 HyperLPR 进行车牌识别plate = catcher(frame)# 如果检测到车牌则输出if len(plate) > 0:# 获取当前帧时间戳timestamp_ms = videoCapture.get(cv2.CAP_PROP_POS_MSEC)timestamp_s = timestamp_ms / 1000# 计算当前是第几秒current_second = int(timestamp_s % 60)# 输出当前帧数和秒数current_frame = int(videoCapture.get(cv2.CAP_PROP_POS_FRAMES))carNum = plate[0][0]confidence = plate[0][1]res = {'video_name' : video_name, 'total_frames' : total_frames, 'current_frame' : current_frame, 'total_seconds' : total_seconds, 'current_second' : current_second, 'carNum' : carNum, 'confidence' : confidence}aiRes.append(res)# 如果无法读取到帧则直接退出循环else:break# 跳过指定数量的帧for _ in range(skip_frames):videoCapture.grab()# 暂停一下,避免图像显示太快time.sleep(0.02)# 释放相关资源videoCapture.release()cv2.destroyAllWindows()return aiRes
模型:用hyperlpr3实现图片和视频中的车牌号提取相关推荐
- HyperLPR 对图片和视频中车牌的识别
一.概要 在上一篇文章中,主要介绍了HyperLPR开源车牌识别系统的配置和使用(链接:https://blog.csdn.net/oJiWuXuan/article/details/10733266 ...
- python提取图片文字视频教学_用Python提取视频中的图片
小编自己码的通用型函数,支持各种常用视频格式,可满足常用需求,亲测效果和速度都不错. 想获取本文数据和完整代码的下载链接,请关注微信公众号"R语言和Python学堂",并回复发文日 ...
- html5穿插动图,视频中间插播广告 在视频中的任意位置添加广告图片,视频中穿插图片的方法...
小编最近在看一个电视剧,这个电视剧只能用优酷的播放器进行播放,但优酷播放器真是让我很奔溃,看一集视频起码要插播三次广告,简直全程无感.幸好之前解决了优酷视频转换格式的问题,不然我真是要放弃优酷播放器了 ...
- php 提取视频中的声音,如何提取视频中的声音,并把画面改成文字内容
现在越来越多的人会在网络平台分享小视频,看到影视剧中的精彩片段就可以截取下载分享到视频平台,当然还可以对下载的视频进行二次创作再分享.小编之前就看到一个小视频效果挺好,视频播放的声音是影视剧某片段的原 ...
- php 提取视频中的声音,怎么提取视频的声音 提取视频中的声音
提取视频中的声音有很多的方法,软件也是很多,是不是有点选择困难户啦,先淡定!很多小伙伴提取视频中的声音是喜欢视频中的某段背景音乐,其实我们也可以是为了提取视频中的某段对话的声音或者是其他,总之只要你喜 ...
- 视频中的音频如何提取出来?分享简单好用的提取方法
如果你的设备无法播放视频,你可以提取音频并将其转换为适用于你的设备的音频格式,这样你就可以在不观看视频的情况下仍然能够听取视频中的内容.这对于那些只想听取音频而不是观看视频的人非常有用.给大家分享几种 ...
- 视频中的物理要素——提取人们产生共情的元素
近几年油管,各种小视频的兴起,似乎在为我们打开一扇门. 研究角度来看,人们为什么对小视频如此痴迷. 短暂的欲望得到满足 为什么通过视觉刺激,听觉刺激可以在观看吃播的时候,观看者也可以得到同样的对食物满 ...
- python+opencv+PIL,在图片和视频中写入中文(汉字)
原博客地址:https://blog.csdn.net/wyx100/article/details/80412101 效果 代码 #!/usr/bin/env python # -*- coding ...
- Mask RCNN 实战(二)--像黑镜一样屏蔽图片和视频中的人和物体
Mask RCNN:项目地址 <黑镜:圣诞特别篇>里,出现了"屏蔽"技术.不喜欢一个人,可以屏蔽他.这样,你们就再也看不见对方,也无法打电话.写信.甚至你看到电视机上的 ...
最新文章
- boost python导出c++ map_使用Boost生成的Python模块:与C++签名不匹配
- 【51单片机快速入门指南】4.3.1: MPU6050调用DMP库获取四元数和欧拉角
- JAVA只要掌握内部类,多继承和单继承都不是问题
- 三星Galaxy Note20系列再遭减配:100倍变焦也没了
- (转)OAuth 2.0的设计思路
- java.lang.NoClassDefFoundError: weblogic/rmi/extensions/DisconnectListener
- Android4.0源码目录结构详解
- MySQL 入门(四)—— 数据库操作
- java班级管理系统代码_基于jsp的班级管理系统-JavaEE实现班级管理系统 - java项目源码...
- Jenkins在执行JUnit报告时报错Test reports were found but none of them are new. Did leafNodes run? 问题解决
- cnchar - 功能全面、支持多端的汉字拼音笔画开源 JS 库
- 华为核心交换如何配置源地址转换_华为路由器和交换机配置地址转换
- maven中resource配置详解
- 808通讯协议技术规范消息ID:0x0704数据分析,后附go代码
- 捋一捋Android的转场动画
- 修复鼠标单击变双击的问题
- C++ vector函数接口及其底层原理
- linux 下生成docx,linux下创建、删除文件和文件夹命令.docx
- QPainter引起的界面刷新问题
- 【Mysql系列】计算两个日期的时间差
热门文章
- C++ vector类
- 如果你依旧对旧版GitHub UI 念念不舍,那么可以试下「Old GitHub UI 」这款插件!
- ARMV8对CPU虚拟化的支持及L4_fiasco中实现
- Useful Blog
- python AES CFB-128加密
- 百度sms短信发送功能
- android 计算方法数量,如何精确计算Android应用的使用时长
- JAVA+SQL办公自动化系统(源代码+论文+外文翻译)
- 软工实训:Vi,Java,Ant,Junit的自学报告
- 《第一堂棒球课》:王牌右外野·棒球9号位