代码目录

|---- config.py # 工程参数配置

|---- ocr_lib # 模型、数据生成

| |---- crnn.py # 选用不同模型

| |---- vgg16.py

| |---- vgg19.py

| |---- Xception.py

| |---- densenet.py

| |---- data_generator.py

| |---- data_load.py

| |---- gen_train_val_data.py

| |---- random_gen.py

| |---- fonts # 字体

|---- train_net_online.py

|---- test_net_online.py

|---- requirements.txt

代码是基于keras实现的ocr.

主要内容包含:

相关介绍

如何进行ocr? 主要方式有:

(1) 文本检测:yolo v3、 ctpn、psenet等,主要是基于检测、分割的方案。

(2) 文本识别:cnn+ctc、crnn+ctc等。

代码使用

OCR模型训练 (训练时间24小时以上,config.py的参数保持默认、或者修改)

$ python train_net_online.py

2.OCR模型测试

$ python test_net_online.py

OCR模型优化

(1) 选用不同的模型cnn、 crnn等。

(4)单字的检测和识别可以参考:CPS-OCR-Engine。

测试结果:

gt>>>>>>> 戒敞古逊罪化综波早洼

pred>>>>> 戒敞古逊罪化综波早洼

gt>>>>>>> 枫矢浙o膝犁苹嫉轨徊

pred>>>>> 枫矢浙o膝犁苹嫉轨徊

gt>>>>>>> 壤驾橘荤僻境追闸择葱

pred>>>>> 壤驾橘荤僻境追闸择葱

gt>>>>>>> 光8旧亏入书丁寸乎}达正

pred>>>>> 光8旧亏入书丁寸乎}达正

gt>>>>>>> 年降姊雕吝奇癣盹印E彪帅

pred>>>>> 年降姊雕吝奇癣盹印E彪

gt>>>>>>> P鞍笼淆喝文姊籽举陨

pred>>>>> P鞍笼淆喝文姊籽举陨

gt>>>>>>> 惩沙掠巧博苗班扣答刽豌樱

pred>>>>> 惩沙掠巧博苗班扣答刽豌樱

gt>>>>>>> 突喜针垄麸汹亏废妒件扯燃

pred>>>>> 突喜针垄麸汹亏废妒件扯燃

gt>>>>>>> 指限蝌艺依铺蔓崩走胡

pred>>>>> 指限蝌艺依铺蔓崩走胡

gt>>>>>>> 支袱葬栖皮这庞法毫穴赫颇

pred>>>>> 支袱葬栖皮这庞法毫穴赫颇

gt>>>>>>> 敞换啊兽倔论涉究搓叔歧沫

pred>>>>> 敞换啊兽倔论涉究搓叔歧沫

gt>>>>>>> 去斥巨化勾]加g风矛召支

pred>>>>> 去斥巨化勾]加g风矛召支

gt>>>>>>> 宁S市扬当a边成计订

pred>>>>> 宁S市扬当a边成计订

gt>>>>>>> 古闪瓦丙迈见礼4旧女凤肉

pred>>>>> 古闪瓦丙迈见礼4旧女凤肉

gt>>>>>>> 捶儿丢覆这抬蔗抢沫肾

pred>>>>> 捶儿丢覆这抬蔗抢沫肾

联系

如何有问题或者建议请联系wechat: lp9628 (需要生成接口、.pb模型可联系)

为了更快的看到效果,只给了两个颜色:random_gen.py

随机生成背景颜色

def randon_gen_bg_color():

# 图片背景

'''

R = random.randrange(0,255,15)

G = random.randrange(0,255,15)

B = random.randrange(0,255,15)

img_color_list = [ (R, G, B) ]'''

img_color_list = [ (0,0,0), (255,255,255)] #, (255,0,0), (0,255,0), (0,0,255), (0,255,255), (255,0,255), (255,255,0), (128,128,128), (128,0,0), (0,128,0), (0,0,128), (0,128,128), (128,0,128), (128,128,0) ]

img_bg_color = random.randint( 0, len(img_color_list)-1 )

return img_color_list[img_bg_color]

# 随机生成文本颜色

def random_gen_text_color():

# 文字颜色

'''

R = random.randrange(0,255,15)

G = random.randrange(0,255,15)

B = random.randrange(0,255,15)

text_color_list = [ (R, G, B) ]'''

text_color_list = [ (0,0,0), (255,255,255)] #, (255,0,0), (0,255,0), (0,0,255), (0,255,255), (255,0,255), (255,255,0), (128,128,128), (128,0,0), (0,128,0), (0,0,128), (0,128,128), (128,0,128), (128,128,0) ]

text_color = random.randint( 0, len(text_color_list)-1 )

return text_color_list[text_color]

# 在样本生成的时候没有选用图片作为背景: data_generator.py

flag = np.random.choice([False]) # True

# 随机的调整宽高, 以最大长度初始化

img_size_width = 50 * n_len + 40 + randon_img_width

python判断文本内容_文本检测、文本识别(cnn+ctc、crnn+ctc)相关推荐

  1. java 复制文本内容_基于java文本复制的7种方式总结

    如下所示: package copy; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...

  2. python显示html内容自动换行_canvas绘制文本内容自动换行

    原型要求: 要求制作一个邀请卡页面,其中标题字数是动态的,最多可显示2行,如果超出2行则第2行内容结尾添加省略号.根据产品妹子的性格,四行这个设置到时很大机会改,所以这里一定不能写死,结果前几天真的要 ...

  3. 【基于文本内容的垃圾短信识别】

    这个作业属于那个课程 自然语言处理 这个作业要求在哪里 NLP作业02:课程设计报告-CSDN社区 我在这个课程的目标是 学会如何实现基本的文本分类,学会如何对文本数据进行处理 这个作业在那个具体方面 ...

  4. 如何用python修改pdf内容_如何利用python将pdf文件转化为txt文件?

    https://www.wukong.com/answer/6579491774144708872/?iid=15906422033&app=news_article&share_an ...

  5. Python OpenCV Tesseract实现车牌的检测与识别

    python+opencv+TESSERT-OCR实现车牌的检测与识别_啥都不会的小王的博客-CSDN博客python+opencv+TESSERT-OCR实现车牌的检测与识别开学花了十天时间0基础搞 ...

  6. python 读取邮件内容_利用Python imaplib和email模块 读取邮件文本内容及附件内容...

    python使用imap接收邮件的过程探索 https://www.cnblogs.com/yhlx/archive/2013/03/22/2975817.html #! encoding:utf8 ...

  7. python 写txt 换行_写入txt文本的内容为什么没换行效果?

    PHP把内容写入文件,并每次自动换行 weixin_4089680029712018-07-20 Java文本追加.换行.输出到TXT u01422837514692015-12-15 Android ...

  8. 易语言读文本内容_易读性如何使文本易于阅读

    易语言读文本内容 Your first step in making your texts legible is to understand what legibility means. It is ...

  9. android怎么截取接口返回html代码中的内容_如何实现文本内容折叠并显示“...查看全部”?...

    来源 | https://wintc.top/article/58多行文本超过指定行数隐藏超出部分并显示"...查看全部"是一个常遇到的需求,网上也有人实现过类似的功能,不过还是想 ...

最新文章

  1. Matlab数据的可视化 -- 线性图函数plot
  2. JavaScript中几个优雅的运算符使用技巧
  3. 电脑复制粘贴_手机扫一扫,现实物体隔空复制粘贴进电脑!北大校友的AI新研究,现在变成AR酷炫应用...
  4. Qt QSS知识点记录
  5. flutter Toast消息提示框
  6. english 2012020602
  7. PreScan笔记(1)——入坑之简单介绍和Demo
  8. android桌面小工具,超好用的手机桌面小组件,一键美化桌面,实用又美观
  9. OSGB 倾斜摄影数据生产完成后裁剪模型问题
  10. my ReadBook_wangluoyingxiaoyucehua / network marketing / wangluoyingxiao
  11. windows NT到底是什么
  12. linux 切换左右声道,linux下怎么把数据分别给左右声道
  13. bootstrap3 snippets使用方法
  14. [SV]SystemVerilog Constraints(1)
  15. JS中的键盘事件(onkeydown、onkeyup、keyCode)
  16. android自动切换暗色,超实用!Android 深色模式适配(可定时开启的APP内主题切换管理工具)...
  17. mapboxGL中sprite生成与引用
  18. 初等数论 课堂笔记 第二章 -- 费马问题
  19. Unix道德经(英文版)
  20. u-blox LEA-4S/GPS实例制作

热门文章

  1. 利用POI 从Excel取图,自动制作PPT
  2. DocumentBuilderFactory解析xml
  3. CAD.NET 访问天正实体对象
  4. 如何找出阻止windows睡眠的原因或软件
  5. IDEA修改背景颜色为护眼绿
  6. 通达信指标公式编写常用函数(五)——BARSLAST
  7. 油腻中年初学PYTHON
  8. PEP 282 – A Logging System
  9. CSS三大特性,初识盒子
  10. python结合G2绘制精美图形