Mac 上使用 Tesseract OCR 识别图片文本

Tesseract OCR 引擎:Tesseract是一个开源的OCR引擎,你需要先安装它。可以从Tesseract官方网站(https://github.com/tesseract-ocr/tesseract)下载适用于你的操作系统的安装程序或源代码,并按照官方文档进行安装。

Tesseract OCR 对于低分辨率或模糊的图片可能无法准确识别。尝试使用更高分辨率和清晰度的图片来提高识别结果的准确性。对于 Mac 上的截图,一般都是很清晰的,所以这个缺点影响不大。

在 Mac 上,使用官网推荐的方式安装:

shell 复制代码
brew install tesseract

The tesseract directory can then be found using brew info tesseract, e.g.

bash 复制代码
/usr/local/Cellar/tesseract/5.3.2/bin/tesseract

demo:

python 复制代码
import pytesseract
from PIL import Image

# 可以写一个函数 crop_picture 将原图裁剪一下,只保留想要识别文本的部分,这样识别更加准确一些。
def crop_picture(picture_path, crop_box: list):
    """
    crap picture with crop_box
    :param picture_path: picture to be crapped
    :param crop_box: crop region, eg: [100, 200, 300, 350]
    :return: path of crapped picture
    """
    dirname = os.path.dirname(picture_path)
    basename = os.path.basename(picture_path)
    new_basename = ''.join([basename.split('.')[0], '_new.', basename.split('.')[1]])

    picture_origin = Image.open(picture_path)
    picture_origin_size = picture_origin.size
    if crop_box[2] is None:
        crop_box[2] = picture_origin_size[0]
    if crop_box[3] is None:
        crop_box[3] = picture_origin_size[1]
    picture_new = picture_origin.crop(tuple(crop_box))

    picture_new_path = os.path.join(dirname, new_basename)
    picture_new.save(picture_new_path)
    return picture_new_path

def get_text_from_picture(picture_path, crop_box: list):
    """
    get text from picture
    :param picture_path: picture to be crapped
    :param crop_box: crop region, eg: [100, 200, 300, 350]
    :return: text
    """
    pytesseract.pytesseract.tesseract_cmd = r'/usr/local/Cellar/tesseract/5.3.2/bin/tesseract'
    picture_new_path = crop_picture(picture_path, crop_box=crop_box)
    image = Image.open(picture_new_path)
    text = pytesseract.image_to_string(image, lang='eng')
    print(text)
    return text

if __name__ == '__main__':
    get_text_from_picture('my_picture_path', crop_box=[585, 360, None, 800])
相关推荐
HerayChen2 小时前
HbuildderX运行到手机或模拟器的Android App基座识别不到设备 mac
android·macos·智能手机
hairenjing11232 小时前
在 Android 手机上从SD 卡恢复数据的 6 个有效应用程序
android·人工智能·windows·macos·智能手机
小李飞刀李寻欢4 小时前
Mac电脑如何解压rar压缩包
macos·rar·解压
Java小白笔记4 小时前
Mac中禁用系统更新
macos
AndyFrank4 小时前
mac crontab 不能使用问题简记
linux·运维·macos
Mac新人4 小时前
一招解决Mac没有剪切板历史记录的问题
macos·mac
王拴柱4 小时前
Mac保护电池健康,延长电池使用寿命的好方法
macos·mac
daa205 小时前
macos中安装和设置ninja
macos
Java小白笔记6 小时前
Mac解决 zsh: command not found: ll
macos
小钱c77 小时前
Mac下安装Apache JMeter并启动
jmeter·macos·apache