EasyOCR是一个用python编写的OCR第三方库
1 说明
1.1 OCR:Optical Character Recognition,光学字符识别。是通过图像处理和模式识别技术对光学的字符进行识别的意思,是自动识别技术研究和应用领域中的一个重要方面。
1.2 EasyOCR
1.2.1 是一个用python编写的OCR第三方库。
1.2.2 这个模块支持70多种语言的即用型OCR,包括中文,日文,韩文和泰文等。
1.2.3 也可以用于车牌识别,但是识别精度有待提高。
2 准备
2.1 官网https://www.jaided.ai/easyocr/ https://github.com/JaidedAI/EasyOCR
2.2 安装pip install easyocr -i https://pypi.tuna.tsinghua.edu.cn/simple #本机安装 sudo pip3.8 install easyocr -i https://pypi.tuna.tsinghua.edu.cn/simple
3 初始化和识别
3.1 图片:
3.2 代码:注释讲解清楚。#初始化,需要下载模型 import easyocr #reader = easyocr.Reader(["ch_sim"]) # ch_sim是Chinese simplified简写 #reader = easyocr.Reader(["ch_sim"],gpu = False) #默认gpu=True,这样就是采用CPU #识别繁体中文和英文 #reader = easyocr.Reader(["ch_tra", "en"]) #识别简体中文,因为有简体中文和英文字母 reader = easyocr.Reader(["ch_sim", "en"]) result = reader.readtext("/home/xgj/Desktop/eazyocr/6.png",detail = 0) print(result)
3.3 初始化的第一步,可能需要下载
3.4 操作效果
3.5 结果
["沪A", "粤B"]
4 高级版汽车车牌识别:实验版
4.1 图片:来自今日头条免费正版图库
4.2 cv2法
4.2.1 效果图
识别不精准:["淅6 L8888"]
4.2.2 代码:import cv2 import easyocr # 读取图片 img = "/home/xgj/Desktop/eazyocr/4.jpeg" img = cv2.imread(img) cv2.imshow("original", img) # 选择ROI roi = cv2.selectROI(windowName="original", img=img) x, y, w, h = roi #print(roi) # 显示ROI并保存图片 if roi != (0, 0, 0, 0): crop = img[y:y+h, x:x+w] cv2.imshow("crop", crop) #保存截图 #cv2.imwrite("/home/xgj/Desktop/eazyocr/crop.jpg", crop) #识别 reader = easyocr.Reader(["ch_sim", "en"]) result = reader.readtext(crop,detail = 0) print(result) # 退出 cv2.waitKey(0) cv2.destroyAllWindows()
4.3 matplotlib+PIL法
4.3.1 效果图:
不精准:淅6:L8888
4.3.2 代码:import matplotlib.pyplot as plt from PIL import Image import easyocr zuobiaodian=[] #matplotlib获取坐标点函数 def on_press(event): zuobiaodian.append(event.xdata) zuobiaodian.append(event.ydata) fig = plt.figure() fig.canvas.mpl_connect("button_press_event", on_press) #PIL读取图片,可以使用img.crop img = Image.open("/home/xgj/Desktop/eazyocr/4.jpeg") #第1张原图展示 plt.imshow(img) plt.show() #指定截图大小并显示 #crop([x1,y1,x2,y2]) img_crop = img.crop(zuobiaodian) #第2张:直接切片对图像进行裁剪 plt.imshow(img_crop) #保存图片路径,然后后面再识别 img_crop_s="/home/xgj/Desktop/eazyocr/img_crop.jpg" plt.savefig(img_crop_s) plt.show() #识别 reader = easyocr.Reader(["ch_sim", "en"]) result = reader.readtext(img_crop_s,detail = 0) #print(result) #去掉IDD print(result[0])
5 实验版汽车车牌识别分析
5.1 车牌位置不正,光线欠佳,与字体等有关。
5.2 宋体 小二号字:
5.3 效果图
精准:["浙 G L8888"]
5.4 代码:import easyocr #识别简体中文,因为有简体中文和英文字母 reader = easyocr.Reader(["ch_sim", "en"]) #读取图片 result = reader.readtext("/home/xgj/Desktop/eazyocr/3.png",detail = 0) #输出结果 print(result)
仅供学习。
都是你的错,毁掉孩子一生的幸福孩子最悲哀的事在需要帮助和安慰的时候,却一个巴掌拍过来,这种委屈感会伴随孩子一生。作者依凡我初中时有一个同桌,她很老实,从来不敢争不敢抢。有一次,前排的同学不小心把她的水杯撞到地上
家长和孩子的成长有句话叫做不讲作业,母慈子孝,一讲作业,鸡飞狗跳,对于80后的我们真的不太公平,因为我们读书那会儿都是老师批评我们,从来不找家长的,终于熬到我们是家长啦,现在孩子一有风吹草动我们立
普通话的重要性还记得小时候课文上有过这样一个故事有位老爷爷,坐上公交车,然后随之把自己的鞋子给脱了,到下车时,他一张嘴就说我的孩子(鞋子)哪里去啦?一脸着急的样子,大家忙给他找孩子,可不一会儿他
你会在爱中培育孩子吗?现在很多宝贝都是独生子女,父母对宝贝的关注也非常多,所以现在宝贝的压力也非常大,因为任何一个小事情都会被父母的火眼金睛盯着,一个孩子犯了错误绝不承认,时不时还会撒谎,一定是你对他太
患有抽动症的儿童在饮食上应注意什么?儿科医生注意以下5点家长在对于孩子抽动症的情况不仅要在医疗上进行干预,而且在饮食方面也得注意,因为在饮食方面稍有不慎也会导致患有抽动症的孩子病情加重。如果说患有抽动症的儿童在饮食上没有得到正确的营养就
英雄末路盘点历史上那些大人物之死第一篇秘不发丧秦始皇是不是被赵高所杀话说历史上的那些大人物之死,很多都是死得蹊跷,死得不明不白不清不楚,很神秘的样子,这更是加重了历史的悬念历史的厚度,甚至一直笼罩在阴谋论的疑云里
我在德国的见闻实录同志们,我来啦记录德国见闻记录生活琐事今天周六,去了Worpswede(画家村),天气太好了人也不太多,附上照片关于中国留学生能不能学到德国真正的高精尖知识?下面是我的理解德国的机
左撇子说说从小到大受过的歧视和摧残吧我天生左撇子,握笔握筷子会被教成用右手,但没人教的,就都用左手。是从我妈那遗传过来的,她也是左撇子,但我奶奶以前会骂我妈死左撇子,我妈一直都很自卑于左撇子这事上。我小时候,家里人就
如何科学判断孩子语言发育迟缓?儿科主任来支招!语言发育迟缓是指处于语言发育期间的儿童因各种原因,在预期的时间内不能与普通儿童一样,用语言符号进行语言理解表达和交流,使儿童语言发育落后于实际年龄水平的一种状态,临床表现为说话延迟
如何判断孩子是顽皮还是多动症两者该如何区别?儿童多动症又称为注意力缺陷多动症,是一种常见的儿童行为异常性的疾病,疾病的一个主要的特点就是智力是正常的或者说基本正常,但是学习行为以及行为方面是有缺陷的。多动症是一种常见的儿童行
宝宝多大可以吃油?孩子到了这个年龄,该给宝宝加油了宝宝的身体健康是每个家长都关心,关怀的一个大的问题,特别是关系到宝宝们的饮食问题。从婴幼儿时期到孩子长大过程中,宝宝怎么吃油才能健康聪明又不胖呢?因为虽然油脂对孩子的成长发育非常关