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

python ocr 识别 文字

 方法介绍 

方法准确率速度多语言支持复杂场景适应推荐场景
Tesseract 中高 一般 简单文档、多语言
EasyOCR 复杂背景、低分辨率图像
PaddleOCR 极高 高精度中文、版面分析

 

    • 推荐选择
      • 简单需求:Tesseract + Pytesseract(轻量级,易上手)。
      • 复杂场景:EasyOCR(深度学习,自动优化)。
      • 高精度中文:PaddleOCR(百度技术,支持版面分析)
         


1. 安装 Tesseract OCR  方法 1:APT 官方源安装(推荐)

bash

sudo apt update

sudo apt install tesseract-ocr tesseract-ocr-eng -y # 英文语言包
# 可选:安装其他语言包(如中文)
sudo apt install tesseract-ocr-chi-sim -y

2. 在ubuntu24中,使用虚拟环境(推荐隔离依赖)安装 python库
bash

# 检查是否已安装 venv

python3 -m venv --help 

# 如果未安装(极少情况),手动安装:

sudo apt install python3-venv -y

2.2 创建并激活虚拟环境

bash

# 创建虚拟环境(命名为 myenv)

python3 -m venv myenv

 

# 激活虚拟环境

source myenv/bin/activate  # Linux/macOS

# 激活后,终端提示符会显示 (myenv)

 

# 退出虚拟环境

deactivate

2.3 在虚拟环境中安装库

bash

# 激活虚拟环境后,用 pip 安装库(仅影响当前环境)

pip install pillow pytesseract opencv-python  # Pillow 用于图像处理,OpenCV 可选

3.源代码举例

# import pytesseract
# from PIL import Image# # 设置 Tesseract 路径(如果未在系统 PATH 中)
# # pytesseract.pytesseract.tesseract_cmd = '/usr/bin/tesseract'# # 读取图像并识别文字
# image_path = "/home/ubuntu/examples/english.png"
# image = Image.open(image_path)
# text = pytesseract.image_to_string(image_path, lang="eng")  # 指定语言
# print(text)import cv2import pytesseract# 使用 OpenCV 读取图像(适合预处理)
image_path = "/home/ubuntu/examples/english.png"
image = cv2.imread(image_path)gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)  # 转为灰度图

thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]  # 二值化# 识别文字(指定语言和配置参数)

custom_config = r'--oem 3 --psm 6'  # OEM 3=默认,PSM 6=自动分块#text = pytesseract.image_to_string(thresh, lang="chi_sim+eng", config=custom_config)

text = pytesseract.image_to_string(thresh, lang="chi_sim+eng", config=custom_config)print(text)

 

4、补充在ubuntu中, ROS2 使用python的虚拟环境

ROS 2(包括 Python 节点)完全支持 Python 虚拟环境,但需要正确配置以确保 ROS 2 和虚拟环境之间的兼容性。以下是详细的使用方法和注意事项:
1. 为什么要在 ROS 2 中使用 Python 虚拟环境?

    隔离依赖:避免不同 ROS 2 包或 Python 项目的库版本冲突。
    灵活安装:可以在虚拟环境中自由安装 Python 包(如 numpy、opencv-python),而不会影响系统全局环境。
    可移植性:方便在不同机器上复现相同的 Python 环境。

2. 如何配置 Python 虚拟环境?
方法 1:使用 venv(推荐)

bash

# 创建虚拟环境(Python 3)
python3 -m venv ~/ros2_venv
 
# 激活虚拟环境
source ~/ros2_venv/bin/activate  # Linux/macOS
 
# 在虚拟环境中安装所需的 Python 包
pip install numpy opencv-python  # 示例

 

3. 在 ROS 2 中使用虚拟环境的 Python

直接运行 Python 节点

在虚拟环境中运行 Python 脚本时,确保:

    使用虚拟环境的 Python 解释器。
    正确设置 PYTHONPATH 以包含 ROS 2 的 Python 库。

bash

# 激活虚拟环境
source ~/ros2_venv/bin/activate
 
# 设置 PYTHONPATH(替换为你的 ROS 2 安装路径)
export PYTHONPATH=/opt/ros/<distro>/lib/python3.10/site-packages:$PYTHONPATH
 
# 运行 Python 节点
python3 your_node.py

 

http://www.aitangshan.cn/news/978.html

相关文章:

  • 嗯可能就是deepseek像小狗一样吧(⁄ ⁄⁄ ▽⁄⁄ ⁄)
  • 【自学嵌入式:stm32单片机】定时器外部时钟
  • 树状数组学习笔记
  • 借项销售订单创建发票,报凭证不完成
  • GAS_Aura-Constructing the ASC and AS
  • 02-内核符号导出
  • tcpdump抓包命令
  • arduino开发你好小智(3)流程和原理 - MKT
  • PCIe【9】Linux内核 PCI驱动
  • GAS_Aura-GAS in Multiplayer
  • 随机种子
  • 爬虫逆向--Day13Day14--JS逆向核心案例
  • 线段树优化建图
  • Docker生成容器时使用GPU资源异常:could not select device driver ““ with capabilities: [[gpu]]
  • logrotate日志切割详解
  • 双栈维护滑动窗口的 trick
  • 目前组合数学我学过的
  • nim语言的fmt
  • nim语言获取windows用户名
  • 微雪电子发布工业级ESP32-S3-POE工控板:8路隔离IO,双核240MHz赋能AIoT,一根网线解决供电与通信,工业物联网迎来高性价比控制新选择 - 实践
  • DelegatingHandler
  • 8月12日随笔
  • ORACLE --修改表操作 - Yu
  • SpringCloud OpenFeign
  • # 自控红绿灯-最简
  • 服务业推行目标绩效制度的 Tita 解决方案
  • 8月12日
  • MSE Nacos Controller:为 Kubernetes 生态构建配置管理与服务发现的桥梁
  • MySQL - 存储引擎之InooDB后台线程
  • 第十八天