桐木舟学英语人工智能

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 76|回复: 0

有哪些OCR——识别图中文字的方法?

[复制链接]

305

主题

31

回帖

1155

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1155
发表于 2025-3-20 14:33:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
你可以使用 OCR(光学字符识别) 技术来自动识别图片中的文字,并快速分类。以下是几种可行的方法:
方法 1:使用 Windows 自带的 OCR(适用于 Win 10/11)
  • 打开“照片”应用(Windows 自带的图片查看器)。
  • 点击 “文本识别”(如果你的 Windows 版本支持)。
  • 复制识别的文字,然后根据内容分类。
方法 2:使用 OneNote OCR(Windows 自带软件)
  • 打开 OneNote(通常已预装)。
  • 将图片拖入 OneNote 笔记。
  • 右键点击图片 > “复制文本”,然后粘贴到文档里查看。
  • 复制出来的文字可以用于分类。
方法 3:使用第三方 OCR 软件(更精准)
  • Microsoft PowerToys(免费,适用于 Win 10/11)
    • 下载 PowerToys,使用 Text Extractor(文本提取工具),按 Win + Shift + T 直接框选图片上的文字并提取。
  • 在线OCR网站(无需安装)
方法 4:使用手机 OCR 扫描(如果图片较多)
  • 使用手机的“Google Lens”或“微信扫一扫”,可以快速提取图片中的文字。
  • 然后将文字发送到电脑,根据内容分类整理。
方法 5:批量 OCR 识别(适用于大量图片)如果你有很多图片,可以使用 Python 编写 OCR 脚本,自动识别并分类文件,实现批量分类。

以下是一个简单的 Python 脚本,使用 Tesseract OCR 库进行图片中的文字识别,并将文件根据识别出的文字进行分类。
步骤 1:安装依赖首先,你需要安装 Tesseract OCRPillow 库。
  • 安装 Tesseract
    • 下载 Tesseract OCR 并安装。
    • 安装完成后,记得将其路径添加到系统的环境变量中。路径通常像这样:C:\Program Files\Tesseract-OCR\tesseract.exe(Windows)或者 /usr/local/bin/tesseract(macOS)。
  • 安装 Python 库:打开命令行或终端,运行以下命令安装必要的库:
    pip install pytesseract pillow
步骤 2:编写 OCR 脚本下面是 Python 脚本,通过 Tesseract 提取图片中的文本并按提取的文本内容自动分类文件:
python

import os
import pytesseract
from PIL import Image
import shutil

# 配置 Tesseract 的路径(根据你的安装路径来调整)
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"  # Windows 示例路径

# 图片所在文件夹路径
input_folder = r"你的图片文件夹路径"  # 请替换为你的文件夹路径

# 分类后存储文件夹路径
output_folder = r"分类后的文件夹路径"  # 请替换为你想要分类存放的文件夹路径

# 创建输出文件夹,如果没有的话
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# 遍历文件夹中的所有图片
for filename in os.listdir(input_folder):
    if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
        image_path = os.path.join(input_folder, filename)

        # 使用 Tesseract 识别图片中的文本
        img = Image.open(image_path)
        text = pytesseract.image_to_string(img)

        # 提取文本中的关键词(例如,使用前几个字符作为分类依据)
        category = text.split()[0] if text else "未分类"

        # 创建该分类的文件夹
        category_folder = os.path.join(output_folder, category)
        if not os.path.exists(category_folder):
            os.makedirs(category_folder)

        # 将图片移动到对应的分类文件夹
        shutil.move(image_path, os.path.join(category_folder, filename))

        print(f"'{filename}' 分类到 '{category}' 文件夹。")

print("分类完成!")

步骤 3:运行脚本
  • 将上述脚本保存为一个 .py 文件(例如:ocr_classifier.py)。
  • 在脚本中替换以下路径:
    • input_folder:包含你的图片文件夹路径。
    • output_folder:分类后存放图片的目标文件夹路径。
    • pytesseract.pytesseract.tesseract_cmd:根据你 Tesseract 安装路径调整。
  • 运行脚本:bash    python ocr_classifier.py
脚本功能说明:
  • 提取文本:Tesseract 会识别每张图片中的文字。
  • 分类依据:该脚本默认使用识别到的文本的第一个单词作为分类依据。如果图片中包含更多可用于分类的关键词,可以根据需要修改脚本。
  • 分类文件:按识别到的分类名称,将图片移动到对应的文件夹中。
扩展:
  • 如果你希望根据更多复杂的文本内容分类,可以修改脚本中的分类逻辑,使用更多的文本特征(比如全文、特定关键字等)。
  • 如果图片中包含多种内容或文本较为复杂,可以调整 Tesseract 的参数来提高识别准确率。

希望这个脚本能够帮到你!



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|桐木舟论坛

GMT+8, 2025-4-6 20:17 , Processed in 0.040226 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表