【paddlehubOCR项目】网课手酸酸,眼花花,救星来啦!

本文涉及的产品
文档理解,结构化解析 100页
票证核验,票证核验 50次/账号
小语种识别,小语种识别 200次/月
简介: 大家好这里是三岁,今天给大家带来的是在AiStudio项目平台的一个精选项目,虽然很短,但是效果拔群,使用到了最近特别火的paddleOCR~~~

大家好这里是三岁,今天给大家带来的是在AiStudio项目平台的一个精选项目,虽然很短,但是效果拔群,使用到了最近特别火的paddleOCR~~~

项目地址:https://aistudio.baidu.com/aistudio/projectdetail/706200


网课看完笔油见底,两手酸酸,
头皮麻麻,本子满满密密麻麻。
你还在为网课抄不完的笔记烦恼嘛?
你还在为网课那弄不完的无底洞头疼嘛?
你们的救星来了!!!!


接下来就带大家一起看看吧!


模块介绍



本次使用的OCR模型是haddlehubOCR chinese_ocr_db_crnn_server的1.1.0版本。


20201113164728186.png


chinese_ocr_db_crnn_server Module用于识别图片当中的汉字。其基于chinese_text_detection_db_server检测得到的文本框,继续识别文本框中的中文文字。


之后对检测文本框进行角度分类。


最终识别文字算法采用CRNN(Convolutional Recurrent Neural Network)即卷积递归神经网络。

其是DCNN和RNN的组合,专门用于识别图像中的序列式对象。


与CTC loss配合使用,进行文字识别,可以直接从文本词级或行级的标注中学习,不需要详细的字符级的标注。

该Module是一个通用的OCR模型,支持直接预测。


环境配置



该Module依赖于第三方库shapely和pyclipper,使用该Module之前,请先安装shapely和pyclipper


hub install chinese_ocr_db_crnn_mobile==1.1.0
# 安装有关版本的ocr模块
pip install shapely
pip install pyclipper


文件处理



### 判定有无规定文件夹
import os #导入os库
path = './images/';  # 将视频切割为图片存放的路径
if os.path.exists(path):
    print('文件夹已经存在')
else:
    os.mkdir(path)  #不存在即创建
    print('创建成功')


视频分割



对视频进行分割得到图片


## 把视频按照一定的帧进行切割生成照片并存储到指定文件
import cv2
vc = cv2.VideoCapture(r'./ceshs.mp4')  
# 读入视频文件,命名cv
n = 1  # 计数
if vc.isOpened():  # 判断是否正常打开
    rval, frame = vc.read()
else:
    rval = False
timeF = 15  # 视频帧计数间隔频率
i = 0
while rval:  # 循环读取视频帧
    rval, frame = vc.read()
    try:
        if (n % timeF == 0):  # 每隔timeF帧进行存储操作
            i += 1
            cv2.imwrite(r''+path+'{}.jpg'.format(i),frame)  
            # 存储为图像
        n = n + 1
        cv2.waitKey(1)
    except:
        break
vc.release()


OCR对文件进行处理



### 把有关的文件进行遍历后使用OCR进行生成文字。
import paddlehub as hub
import cv2
import matplotlib.pyplot as plt 
import matplotlib.image as mpimg
import os
data = os.listdir(path) #读取保存图片的文件夹
for photo in data:
    print(photo)
    lena = mpimg.imread(f'./images/{photo}')
    plt.figure(figsize=(10,10))
    # lena.shape
    plt.imshow(lena) 
    plt.axis('off') 
    plt.show()
    ocr = hub.Module(name="chinese_ocr_db_crnn_mobile")
    try:
        result = ocr.recognize_text(images=[cv2.imread(f'./images/{photo}')])
    except:
        pass
    # result = ocr.recognize_text(images=[cv2.imread('/PATH/TO/IMAGE')])
    # result = ocr.recognize_text(paths=['/PATH/TO/IMAGE'])
    for text in result[0]['data']:
        print(text['text'])


9.jpg

20201113170443413.png

[2020-10-30 17:55:33,430] [ INFO] - Installing chinese_ocr_db_crnn_mobile module [2020-10-30 17:55:33,616] [ INFO] - Module chinese_ocr_db_crnn_mobile already installed in /home/aistudio/.paddlehub/modules/chinese_ocr_db_crnn_mobile [2020-10-30 17:55:33,927] [ INFO] - Installing chinese_text_detection_db_mobile module-1.0.3 [2020-10-30 17:55:33,929] [ INFO] - Module chinese_text_detection_db_mobile-1.0.3 already installed in /home/aistudio/.paddlehub/modules/chinese_text_detection_db_mobile 人工智能无处不在 1/飞桨 搜素引擎:网页、图片、视频、新闻、学术、地图 信息推荐:新闻、商品、游戏、书籍 智能助理 图片识别:人像、用品、动物、交通工具 用户分析:社交网络、影评、商品评论 智能图像 理解 机器翻译、摘要生成. 逻辑操作符 描述 机器翻译 and 网络购物 如果两个操作数中的任何一个为True则eondition变为True 期 智能化推荐 not 用于反转逻(不是False变为True. 11.jpg


20201113170459188.png

[2020-10-30 17:55:38,871] [ INFO] - Installing chinese_ocr_db_crnn_mobile module [2020-10-30 17:55:38,983] [ INFO] - Module chinese_ocr_db_crnn_mobile already installed in /home/aistudio/.paddlehub/modules/chinese_ocr_db_crnn_mobile [2020-10-30 17:55:39,389] [ INFO] - Installing chinese_text_detection_db_mobile module-1.0.3 [2020-10-30 17:55:39,504] [ INFO] - Module chinese_text_detection_db_mobile-1.0.3 already installed in /home/aistudio/.paddlehub/modules/chinese_text_detection_db_mobile 人工智能无处不在 1/飞浆 搜素引擎:网页、图片、视频、新闻、学术、地图 信息推荐:新闻、商品、游戏、书籍 智能助理 图片识别:人像、用品、动物、交通工具 用户分析:社交网络、影评、商品评论 智能图像 理解 机器翻译、摘要生成. 逻辑操作符 描述 机器翻译 and 网络购物 如果两个操作数中的任何一个为True则eondition变为Trua 期 智能化推荐 not 用于反转逻辑(不是False变为True. 以上为部分结果!


好了今天就 到这里了,希望大家多多支持!

目录
相关文章
|
设计模式 缓存 算法
花了30天才肝出来,史上最全面Java设计模式总结,看完再也不会忘
Design Patterns: Elements of Reusable Object-Oriented Software(以下简称《设计模式》),一书由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides合著(Addison-Wesley,1995)。这四位作者常被称为“四人组(Gang of Four)”,而这本书也就被称为“四人组(或 GoF)”书。他们首次给我们总结出一套软件开发可以反复使用的经验,帮助我们提高代码的可重用性、系统的可维护性等,解决软件开发中的复杂问题。
208 0
|
JSON 前端开发 JavaScript
前端小白躺平摆烂可以吗?
开局即炼狱模式,前端小白躺平摆烂可以吗 这几年毕业的大学生有多苦都不必我们说了。大学才4年,疫情占3年,好不容易熬到毕业,找工作又进入了炼狱模式。 整个互联网裁员裁到上了热搜,之前选择这个专业时所幻想的高薪梦,大厂梦,受到现实的无情打脸。
前端小白躺平摆烂可以吗?
|
小程序 数据安全/隐私保护 计算机视觉
切勿外传,我要把我的写作“小心思”放出来了!| 年终总结之学习篇🚩
切勿外传,我要把我的写作“小心思”放出来了!| 年终总结之学习篇🚩
195 0
切勿外传,我要把我的写作“小心思”放出来了!| 年终总结之学习篇🚩
|
Java 关系型数据库 MySQL
刚入职没多久,连夜手写了一个代码生成器,项目开发速度瞬间屌炸了!(一)
各位网友,大家好,我是阿粉! 最近刚入职一个新团队,还没来得及熟悉业务,甲方爸爸就要求项目要在2个月内完成开发并上线! 本想着往后推迟1个月在交付,但是甲方爸爸不同意,只能赶鸭子上架了! 然后根据业务需求,设计出了大概30多张表,如果这30多张表,全靠开发人员手写 crud,开发所需的时间肯定会大大的延长,甚至可能直接会影响交付时间! 于是就想着,能不能通过代码生成器一键搞定全部的 crud,开发团队只需要根据业务需求编写逻辑代码就可以?
刚入职没多久,连夜手写了一个代码生成器,项目开发速度瞬间屌炸了!(一)
|
Java 数据库连接
刚入职没多久,连夜手写了一个代码生成器,项目开发速度瞬间屌炸了!(二)
各位网友,大家好,我是阿粉! 最近刚入职一个新团队,还没来得及熟悉业务,甲方爸爸就要求项目要在2个月内完成开发并上线! 本想着往后推迟1个月在交付,但是甲方爸爸不同意,只能赶鸭子上架了! 然后根据业务需求,设计出了大概30多张表,如果这30多张表,全靠开发人员手写 crud,开发所需的时间肯定会大大的延长,甚至可能直接会影响交付时间! 于是就想着,能不能通过代码生成器一键搞定全部的 crud,开发团队只需要根据业务需求编写逻辑代码就可以?
刚入职没多久,连夜手写了一个代码生成器,项目开发速度瞬间屌炸了!(二)
|
移动开发 前端开发 JavaScript
【新人福利】前端学习路线,再也不用发愁自己该从何学习
【新人福利】前端学习路线,再也不用发愁自己该从何学习
290 0
【新人福利】前端学习路线,再也不用发愁自己该从何学习
快速背诵的心得体会
快速背诵的心得体会
148 0
快速背诵的心得体会
|
弹性计算 监控 JavaScript
关于一个大三学生做项目新手入坑的经验之谈
通过阿里云的实验简单的知道了云服务器的认识和了解,大概知道了云服务器的作用,他给我们带来了许多便利。
|
SQL JavaScript 前端开发
520,一份给程序员的“硬核”脱单秘籍
各位,520快乐! 今天是个粉红色的日子,我们来聊聊和技术无关的“技术活”,比如:“如何表白?”当技术人碰上心动的姑娘,他的浪漫开关就打开了。
520,一份给程序员的“硬核”脱单秘籍
|
算法 前端开发 搜索推荐
学编程的 3 个正经建议,学弟学妹们记得收藏呀,这波赚大发了!
学编程的 3 个正经建议,学弟学妹们记得收藏呀,这波赚大发了!
169 0