python 图片识别文字

要在 Python 中实现图片中的文字识别,通常使用的是 Tesseract OCR,结合 Pillow 处理图像。以下是一个简易的实现步骤:

1. 安装所需库:

你需要安装以下库:

  • Tesseract OCR 引擎:这是进行文字识别的核心工具。
  • Pillow:用于图像处理的 Python 库。
  • pytesseract:Python 对 Tesseract OCR 引擎的封装。
  • # 安装 Pillow
    pip install Pillow
    
    # 安装 pytesseract
    pip install pytesseract
    
    # 安装 Tesseract OCR 引擎 (系统层面)
    # 对于 MacOS 使用 brew
    brew install tesseract
    
    # 对于 Ubuntu
    sudo apt-get install tesseract-ocr
    
    # 对于 Windows,下载安装包:
    # https://github.com/tesseract-ocr/tesseract/wiki
    
    

    2. Python 代码实现:

    一旦你安装了上述工具,可以编写以下代码来识别图片中的文字。

  • from PIL import Image
    import pytesseract
    
    # 如果你是在 Windows 上,需要设置 Tesseract OCR 安装路径,例如:
    # pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
    
    # 打开图片
    image = Image.open('path_to_your_image.jpg')
    
    # 使用 pytesseract 进行 OCR 文字识别
    text = pytesseract.image_to_string(image)
    
    # 输出识别出的文字
    print(text)
    
    3. 可选的图像预处理
    如果图片质量不佳,文字模糊,可能需要对图片进行一些预处理操作,如转为灰度图像、调整对比度等。
    
    python
    复制代码
    from PIL import Image, ImageEnhance, ImageFilter
    
    # 打开图片
    image = Image.open('path_to_your_image.jpg')
    
    # 图像预处理:转换为灰度图像,增强对比度
    image = image.convert('L')
    enhancer = ImageEnhance.Contrast(image)
    image = enhancer.enhance(2)
    
    # 进行 OCR
    text = pytesseract.image_to_string(image)
    
    print(text)
    4. 批量处理图片
    如果你有一组图片需要处理,可以循环处理每一张图片。
    
    python
    复制代码
    import os
    from PIL import Image
    import pytesseract
    
    # 图片文件夹路径
    image_folder = 'path_to_your_image_folder'
    
    # 获取文件夹下所有图片
    for filename in os.listdir(image_folder):
        if filename.endswith(('.png', '.jpg', '.jpeg')):
            img_path = os.path.join(image_folder, filename)
            image = Image.open(img_path)
            text = pytesseract.image_to_string(image)
            print(f"识别图片 {filename} 的文字: \n{text}\n")
    
    
    这个方法可以高效地将图片中的文字提取出来。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不熬夜的码农。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值