汉字目标点选识别-ddddocr
目录
- 一、ddddocr介绍
- 二、识别效果
- 三、代码
一、ddddocr介绍
- ddddocr 新的目标检测识别 1.3功能
- 安装
pip install ddddocr
- star哲哥免费开源的识别项目https://github.com/sml2h3/ddddocr
二、识别效果
三、代码
- 图片demo
- 代码 ,更多详细介绍看ddddocr 新的目标检测识别 1.3功能
"""
@author:十一姐
@desc: ddddocr目标识别
@time: 2022/01/09
"""from io import BytesIO
import ddddocr
from PIL import Image, ImageDraw, ImageFontclass Ddddocr:def __init__(self):self.ocr = ddddocr.DdddOcr(show_ad=False)self.xy_ocr = ddddocr.DdddOcr(det=True, show_ad=False)def ddddocr_identify(self, captcha_bytes):return self.ocr.classification(captcha_bytes)def draw_img(self, content, xy_list):"""画出图片"""# 填字字体font_type = "./msyhl.ttc"font_size = 20font = ImageFont.truetype(font_type, font_size)# 识别img = Image.open(BytesIO(content))draw = ImageDraw.Draw(img)words = []for row in xy_list:# 框字x1, y1, x2, y2 = rowdraw.line(([(x1, y1), (x1, y2), (x2, y2), (x2, y1), (x1, y1)]), width=1, fill="red")# 裁剪出单个字corp = img.crop(row)img_byte = BytesIO()corp.save(img_byte, 'png')# 识别出单个字word = self.ocr.classification(img_byte.getvalue())words.append(word)# 填字y = y1 - 30 if y2 > 300 else y2draw.text((int((x1 + x2)/2), y), word, font=font, fill="red")img.show()return wordsdef ddddocr_clcik_identify(self, content, crop_size=None):"""目标检测识别"""img = Image.open(BytesIO(content))# print(img.size)if crop_size:img = img.crop(crop_size)img_byte = BytesIO()img.save(img_byte, 'png')content = img_byte.getvalue()xy_list = self.xy_ocr.detection(content)words = self.draw_img(content, xy_list)return dict(zip(words, xy_list))def case_demo(self, con):"""点选识别结果"""click_identify_result = self.ddddocr_clcik_identify(con, (0, 0, 344, 344))img = Image.open(BytesIO(con))img = img.crop((0, 344, 344, 384))img_byte = BytesIO()img.save(img_byte, 'png')# identify_words = self.ocr.classification(img_byte.getvalue())# print(click_identify_result)# words_dict = {}# for word in identify_words:# words_dict[word] = click_identify_result.get(word)# print(words_dict)img_xy = {}for key, xy in click_identify_result.items():img_xy[key] = (int((xy[0] + xy[2]) / 2), int((xy[1] + xy[3]) / 2))print(img_xy)with open(r'./8320423853e84b499be0b81d40c7f259.jpg', 'rb') as f:con1 = f.read()Ddddocr().case_demo(con1)
汉字目标点选识别-ddddocr相关推荐
- 【易盾图像识别】文字点选识别 附带 模型+数据集 +识别代码+思路
如有损害他人利益,请即时通知,文章会在第一时间内删除! 前言 继极验文字点选的发布,怎么能少得了易盾呢,本次分享将会把模型,代码,数据集一起分享出来! 摘要(About this paper): 易盾 ...
- 文字点选识别验证码识别
文字点选识别&验证码识别 Warning!请保证本项目仅用于研究学习!感谢配合支持! 项目地址: https://github.com/youfengyouyang/Spider_Captch ...
- 博士申请 | 北京理工大学宋承天老师组招收目标感知与识别方向博士生
合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 北京理工大学 北京理工大学机电动态控制国家级重点实验室于依托西安机电信息技 ...
- DataFountain新上两项CV算法竞赛(文化传承——汉字书法多场景识别、大数据医疗——肝癌影像AI诊断)——50万巨奖等你来拿!
欢迎关注微信公众号[计算机视觉联盟] 获取更多前沿AI.CV资讯 好消息啦,2019数字中国创新大赛最后四道赛题如期揭幕,其中又有两道计算机视觉赛题,每题均设立16万巨奖,是不是很激动,让我们一起来看 ...
- 基于华为云ECS的目标检测与识别的昇腾AI开发体验【华为云至简致远】
[摘要] 基于华为云弹性云服务器ECS,搭配共享镜像,快速搭建环境,进行目标检测与识别的昇腾AI开发体验,开箱即用,打破时间和空间限制,随时随地进行开发,适合个人开发和团队协作,体验流畅丝滑. 前言 ...
- 基于昇腾AI异构计算架构CANN的通用目标检测与识别一站式方案初体验
前言 强大的社会粘性不断催温数字化发展,目标检测与识别作为计算机视觉领域的一项关键技术,应用场景广泛,前景十分广阔,从城市治理.楼宇园区.互联网等领域,延伸至智能家居.金融.医疗影像等更多创新领域.随 ...
- 目标检测与识别算法综述:从传统算法到深度学习(二)
作 者:XJTU_Ironboy 时 间:2018年11月 联系方式:tzj19970116@163.com 本文结构: 摘要 介绍 2.1 大致框架 2.2 测试评价指标 2.3 相关比赛介 ...
- (好文)基于HOG的目标检测与识别
其实在深度学习中我们已经介绍了目标检测和目标识别的概念.为了照顾一些没有学过深度学习的童鞋,这里我重新说明一次:目标检测是用来确定图像上某个区域是否有我们要识别的对象,目标识别是用来判断图片上这个对象 ...
- python目标检测与识别_Python 使用Opencv实现目标检测与识别的示例代码
在上章节讲述到图像特征检测与匹配 ,本章节是讲述目标检测与识别.后者是在前者的基础上进一步完善. 在本章中,我们使用HOG算法,HOG和SIFT.SURF同属一种类型的描述符.功能代码如下: impo ...
最新文章
- 如何 SQL Server 2005 实例之间传输登录和密码
- python3的各个版本有什么区别_python不同版本的_new_不同点总结
- phpcmsV9 自定义分页函数与调用 - 不影响后台SQL分页
- spin lock自旋锁
- qt qtoolbutton 弹出菜单方向_QT使用教程(三)之安装篇
- bootstrap学习笔记(2)表单设计
- OpenCV-Python实战(番外篇)——利用 SVM 算法识别手写数字
- Oracle数据库sys和system用户的默认密码及如何修改密码
- 地球上出现过的CPU完全收藏.part4
- 微服务架构的理论基础 - 康威定律
- 【转】告诉你外语学习的真实方法及误区分析(精编版)-part 3
- lpad用法 oracle,oracle中lpad函数的用法详解
- 入门级C语言—利用特殊符号绘制简易中国象棋棋盘(无棋子)
- ADS1255/6 使用
- git官网下载不了或下载很慢的解决办法!
- 深入了解JVM之垃圾回收(二)
- 新手向,从用Spark求平均值到reduceByKey详解
- 入手评测 ROG 冰刃 5 Plus怎么样
- 数值分析快速复习(1)——Matlab数值积分
- 牛客练习赛$18E\ pocky$游戏 状压$dp$