当前位置: 首页 > news >正文

PaddleOCR 的使用,极简介绍

安装

参考github的官网就可以:

github链接

简单的说,就是两句话:

python3 -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple

pip install "paddleocr>=2.0.1" # 推荐使用2.0.1+版本

Python下的使用

from paddleocr import PaddleOCR
import cv2
import numpy as np
if __name__=="__main__":ocr = PaddleOCR(use_angle_cls=True, use_gpu=True,ocr_version='PP-OCRv4')img_path = r'F:\dataset\images\1.bmp'img=cv2.imread(img_path)result = ocr.ocr(img, cls=True)[0]for line in result:list_points=line[0]str_data,conf=line[1]pts = np.array(list_points, np.int32)pts = pts.reshape((-1, 1, 2))cv2.polylines(img, [pts], isClosed=True, color=(0, 255, 255), thickness=1)cv2.imshow("img",img)cv2.waitKey(0)

这里面包括了图片的读取,推理过程,还有检测框的显示。

如果想对每一个字符都做框选,可以多写几句画,把每个框都拆出来。

from paddleocr import PaddleOCR
import cv2
import numpy as npdef getm(p):res=math.sqrt(p[0]*p[0]+p[1]*p[1])return resif __name__=="__main__":ocr = PaddleOCR(use_angle_cls=True, use_gpu=True,ocr_version='PP-OCRv4')img_path = r'F:\dataset\images\1.bmp'img=cv2.imread(img_path)result = ocr.ocr(img, cls=True)[0]for line in result:list_points=line[0]str_data,conf=line[1]len_str=len(str_data)p0,p1,p2,p3=np.array(list_points)if getm(p0-p1)<getm(p1-p2):tmpp=p1p1=p2p2=p3p3=p0p0=tmppfor ic in range(len_str):p0_c=p0+(p1-p0)/len_str*icp1_c=p0+(p1-p0)/len_str*(ic+1)p2_c=p3+(p2-p3)/len_str*(ic+1)p3_c=p3+(p2-p3)/len_str*(ic)list_ps=[p0_c,p1_c,p2_c,p3_c]pts = np.array(list_ps, np.int32)pts = pts.reshape((-1, 1, 2))cv2.polylines(img, [pts], isClosed=True, color=(0, 255, 255), thickness=1)cv2.imshow("img",img)cv2.waitKey(0)

http://www.xdnf.cn/news/847369.html

相关文章:

  • 颜色代码对照表
  • 单点登录(SSO)看这一篇就够了
  • JAR 文件规范详解
  • NSFW检测 (色情检测)
  • 如何实现SGD的高效并行计算:性能提升
  • spring常用注解(六)@Valid和@Validated校验
  • 什么是单点登录(SSO)前端用 iframe 实现单点登录 超详细说明!!
  • 什么是Eureka?Eureka能干什么?Eureka怎么用?
  • AES加解密工具类
  • 手把手带你搞懂Modbus通信协议
  • NAT工作原理(细致易懂)
  • 【C语言】解决C语言报错:Stack Overflow
  • HDFS最基础使用
  • 以太坊的 ChainId 与 NetworkId
  • phoenix索引
  • HBase高阶(一)基础架构及存储原理
  • linux curl命令详解
  • 网络抓包工具Wireshark下载安装使用详细教程
  • 运输管理系统(TMS):一文扫盲,物流、制造业、零售电商都得用
  • 渗透测试-社会工程学与APT攻击
  • Sass:提升CSS开发效率的利器
  • TLS 详解
  • ansible的介绍,安装与部署
  • 数据结构——队列(Queue)
  • Lambda 表达式
  • Linux系统之安装mariadb方法
  • GCC工具详解【Linux知识贩卖机】
  • Maven:mirror和repository 区别、pom.xml 指定仓库地址、releases 和 snapshots 区别
  • 数据要素全流程解析
  • 信息系统项目管理