paddleocr识别VIN码
from paddleocr import PaddleOCR, draw_ocr
import os
import cv2
from PIL import Image
import matplotlib.pyplot as plt# Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
# 例如`ch`, `en`, `fr`, `german`, `korean`, `japan`
ocr = PaddleOCR(use_angle_cls=True, lang="en") # need to run only once to download and load model into memory# 一张图片
path = 'VINImages/SMALL'
# path = '../yolov5-mask-42-master/runs/detect/exp13'
# path = r"D:\BUFFER\Pycharm\RecognitionOCR\images\ROI_Images"
# path = r"D:\BUFFER\Pycharm\RecognitionOCR\images\rudeOCR"# 单张图片
# result = ocr.ocr(img_path, cls=True)# # # 文件夹所有图片
# path = r"D:\BUFFER\Pycharm\DectVIN\VINImages\BIG"def findVin_Index(vinSets):list_vin = []for i in vinSets:address_index = [x for x in range(len(vinSets)) if vinSets[x] == i]list_vin.append([i, address_index])dict_address = dict(list_vin)vin_index = []vin_value = []for key, value in dict_address.items():vin_index.append(len(value))vin_value.append(key)real_vin = vin_value[vin_index.index(max(vin_index))]# for k in range(len(real_vin)):# if real_vin[k] == 'I':# real_vin[k] = '1'# if real_vin[k] == 'o':# real_vin[k] = '0'return real_vin,dict_address.get(real_vin)# possibleVIN = []
# scoresVin = []
for filename in os.listdir(path): # listdir的参数是文件夹的路径img_path = path + '\\' + filename# print(filenames)img_orig = cv2.imread(img_path, 1)print(img_path)# 文件夹下所有图片result = ocr.ocr(img_path, cls=True)possibleVIN = []scoresVin = []# # 显示结果for line in result:# print(line)image = Image.open(img_path).convert('RGB')boxes = [line[0] for line in result]txts = [line[1][0] for line in result]scores = [line[1][1] for line in result]if len(txts[0]) == 17 and scores[0] > 0.98:possibleVIN.append(txts[0])scoresVin.append(scores[0])# im_show = draw_ocr(image, boxes, txts, scores, font_path='./fonts/simfang.ttf')# im_show = Image.fromarray(im_show)# plt.imshow(im_show)# plt.show()allScores = 0.0if possibleVIN:print("possibleVIN",possibleVIN)realvin, realvin_index = findVin_Index(possibleVIN)print("scoresVin", scoresVin)print("realvin_index",realvin_index)for vin_item in realvin_index:allScores = allScores + scoresVin[vin_item]# if allScores:# realScore = allScores/len(realvin_index)# # print("realvin_index", realvin_index)# # print("realVin", realvin)# print("real-score",realScore)cv2.putText(img_orig, (" %s, %0.5f" % (realvin, allScores/len(realvin_index))), (50, 50),cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2)cv2.imshow("vin", img_orig)cv2.waitKey()# im_show.show()# im_show.save('res/result.jpg')
paddleocr识别VIN码相关推荐
- iOS 识别车辆vin码方法汇总,免费并且效果极佳识别速度极快OCR识别VIN码
这里搜集的识别方案全都是基于OCR识别应用字母和数字,然后提取VIN吗的方案,免费,效果极佳,速度极快.方案各有优劣,请酌情考虑. 先上效果图: 方案一: 下载地址:https://github.co ...
- 车架号识别|Vin码识别介绍及APP嵌入集成解决方案
车架号(VIN码)作为十七位的字母,究竟有什么奥秘呢?本文着重讲一下车架号(VIN码)的用途和OCR技术在VIN码(车架号)上的应用场景. 1.确认车辆身份,尤其在一些特殊情况下可以更准确的识别自己的 ...
- VIN码识别又叫车架号识别,OCR技术深度应用
什么叫VIN码? VIN码又叫车架号也叫车辆识别代码,是制造厂为了识别而给一辆车指定的一组编号.由于VIN码的数字和英文字母是不断切换,共有十七个数字及字母组成的编码. 现在,通过自主研发的OCR技术 ...
- 使用汽车VIN码识别的好处有哪些
VIN码识别,车架号识别 通常情况下,车架号VIN码作为唯一的汽车身份证,会常常被用到.VIN码识别(车架号识别)技术在这些活动中就显得不可或缺. 近年汽车后市场交易火爆,对汽车后市场从业人员来说需要 ...
- VIN码识别技术加速汽车后市场服务速度
VIN码识别的应用 寒寒严冬,大雪已过,距离北方最冷的数九天也还有不到两个礼拜,做完一个哥们问我要车牌识别算法,说有项目需要算法,我简单了解后,按照他的具体需求给他免费测试.核心算法支持,等忙完后才想 ...
- 核心大小1M的VIN码OCR识别核心
VIN码也就是车架号,车辆的身份证,是有17位数字和字母组成,和公民身份证一样,每个字段有每个字段的含义,这个全球通用的标准. 在国内好多行业进行公民身份证的登记,使得身份证识别得到了广泛应用,那么对 ...
- 一种Vin码扫描识别sdk技术
一.Vin码扫描识别sdk技术扫描录入信息的产品背景 VIN码即车架号就是汽车的唯一的身份证,汽车从下线出厂.进4S店销售.行驶证登记造册.保险登记.车辆车检.车辆维修保养.车辆召回.车辆交易等直至车 ...
- Vin码/车架号扫描识别sdk技术
一.Vin码扫描识别sdk技术扫描录入信息的产品背景 VIN码即车架号就是汽车的唯一的身份证,汽车从下线出厂.进4S店销售.行驶证登记造册.保险登记.车辆车检.车辆维修保养.车辆召回.车辆交易等直至车 ...
- 移动端车架号vin码识别SDK
不知不觉中,人工智能已经从噱头逐渐变为现实,走进人们生活的方方面面. 作为车辆唯一身份证明,VIN码贯穿一辆车从生产出厂到报废的每一个环节:在你购买新车时,需要登记VIN码信息:在你维修保养的时候,需 ...
- 汽车VIN码OCR识别
汽车VIN码OCR识别 关键词:汽车VIN码识别 移动端OCR识别 VIN码 VIN码即是车辆识别码的缩写,SEA标准规定:VIN码由17位字符组成,包含了车辆的生产厂家.年代.车型.发动机代码及组装 ...
最新文章
- 基于Clang的缓存型C++编译器Zapcc开源
- Javascript基础与面向对象基础~第六讲 Javascript中的事件机制
- IIS设置404页面图文教程(选择URL还是文件 )
- SSM项目使用GoEasy 实现web消息推送服务
- leetcode511. 游戏玩法分析 I(SQL)
- 读【36岁IT老人再次随笔】的读后感,你会哪些计算机语言?
- 【黑客】利用VBS脚本让QQ永远在线,等级速升
- sikuli+eclipse对于安卓app自动化测试的应用(第一次写博客,有些语言还不太专业,望海涵)...
- java读取movielens数据txt
- editormd支持上传视频
- 在龙芯3A3000上安装Debian 10
- java 代码加壳,专家和您一同谈谈java加壳的问题[Java编程]
- 计算机配置知识教学,电脑配置的基本知识
- DEV05 GBase 8a MPP Cluster 数据库性能优化
- 利用mysql物理文件(*.ibd,*.frm)回复数据
- 未来世界,已经不在遥远
- 傻瓜式免费自助建站系统,菜鸟建站理想工具
- Vue里面使用el-cascader 级联选择器 children为空 和获取value和label问题
- ☼ 什么是DST以及它对IT设备、软件的影响 ☼
- 超全!元器件封装查询图表(收藏)
热门文章
- C# TextBox输入数字 TextBox输入限制 TextBox输入字符 KeyPress
- php 5.4连接mysql_MySQL数据库之PHP5.4中mysql连接
- qt 分辨率问题 安卓_Qt for Android dp转换
- FindFirstFile和FindNextFile
- 类的虚函数表和虚函数在内存中的位置
- HBase 表修复在线方式和离线方式
- js时间和时间戳之间如何转换(汇总)
- 【27】Python100例基础练习题6
- Ubuntu 12.04下Proftpd FTP服务器配置
- 【转载】Tomcat内存溢出的原因及调试