为了账号安全,请及时绑定邮箱和手机立即绑定

使用Llama 3.2-Vision模型搭建本地OCR应用,轻松识别图像中的文字

光学字符识别(OCR)已成为将印刷文本数字化并从图像中提取信息的重要工具。随着人工智能的进步,像 Ollama 的 Llama 3.2-Vision 这样的模型提供强大的 OCR 功能。在本文中,我们将指导您使用 Python 构建自己的 OCR 应用程序,并利用 Ollama 提供的 Llama 3.2-Vision 模型。

在开始之前,如果你正在寻找的话,一个一站式的人工智能平台来管理你的所有AI订阅,包括所有大规模语言模型(比如GPT-o1、Llama 3.1、Claude 3.5 Sonnet、Google Gemini等)和图像生成模型(比如FLUX、Stable Diffusion等),

你可以用Anakin AI来管理它们。

[Anakin AI:]您的全方位AI平台(https://anakin.ai/)

Anakin.ai — 一站式人工智能应用平台生成内容、图像、视频和语音;还能打造自动化工作流、定制AI应用和智能代理。尽在anakin.ai
前提条件

在开始前,请确保你有以下准备工作

  • 运行 Windows、macOS 或 Linux 操作系统的笔记本电脑或台式机。
  • 稳定的互联网连接以下载必要的包和模型。
  • 具备基本的 Python 编程知识。
  • 已在系统中安装 Python(建议版本 3.7 或更高)。
第一步:安装 Ollama

Ollama 是一个允许你在本地运行多模态模型的平台。要安装 Ollama,你可以按照以下步骤进行。

  1. 下载 Ollama:访问 Ollama 官方网站并下载适合您操作系统的安装包。
  2. 安装 Ollama:根据安装提示完成安装。

第二步:安装 Llama 3.2-Vision 模型

一旦你安装了 Ollama,你可以通过在终端中运行下面的命令来安装 Llama 3.2-Vision 模型:

ollama 运行 llama3.2-vision

此命令会下载并安装模型,以便在本地使用。

第三步:配置你的 Python 环境

既然你已经安装好了所有需要的软件,让我们配置一个Python环境,开始我们的OCR项目吧。

为你的项目新建一个目录:

    mkdir llama-ocr && cd llama-ocr  # 创建llama-ocr目录并进入该目录
  1. 创建虚拟环境(可选,但建议使用):
    python -m venv venv  
    运行 `venv/bin/activate`  # 在 Windows 系统中运行 `venv\\Scripts\\activate`
  1. 安装所需的库:你需要一些处理图像和进行 Base64 编码的库,如下所示。使用 pip 安装它们,

在终端中输入以下命令来安装requests和Pillow库:

pip install requests Pillow

注意:这里的命令不需要翻译,直接复制粘贴即可使用。

第四步:编写您的 OCR 脚本

现在我们可以编写一个用于OCR的Python脚本,使用Llama 3.2-Vision。创建一个新的Python文件,名为ollama_ocr.py,并添加以下代码:

    import base64  
    import requests  
    from PIL import Image  

    SYSTEM_PROMPT = """充当一个OCR助手。分析提供的图片,并:  

1. 尽量准确地识别图片中所有可见的文字。  

2. 保持文本的原始结构和格式。  

3. 如果有任何单词或短语不清晰,则在转录中用[unclear]表示。  
    仅提供转录,不提供任何额外的评论。"""  
    def encode_image_to_base64(image_path):  
        """将图像文件转换为base64编码的字符串。"""  
        with open(image_path, "rb") as image_file:  
            return base64.b64encode(image_file.read()).decode('utf-8')  
    def perform_ocr(image_path):  
        """使用Llama 3.2-Vision对给定的图片执行OCR操作。"""  
        base64_image = encode_image_to_base64(image_path)  
        response = requests.post(  
            "<http://localhost:8080/chat>", .  # 确保此URL与您的Ollama服务端点相匹配  
            json={  
                "model": "llama3.2-vision",  
                "messages": [  
                    {  
                        "role": "user",  
                        "content": SYSTEM_PROMPT,  
                        "images": [base64_image],  
                    },  
                ],  
            }  
        )  
        if response.status_code == 200:  
            return response.json().get("message", {}).get("content", "")  
        else:  
            print("错误:", response.status_code, response.text)  
            return None  
    if __name__ == "__main__":  
        image_path = "path/to/your/image.jpg"  # 请用您的图片路径替换  
        result = perform_ocr(image_path)  
        if result:  
            print("OCR识别结果:")  
            print(result)

代码的解释

  1. Base64 编码encode_image_to_base64 函数读取图像文件并将其转换为 base64 字符串,这是通过 HTTP 请求发送图像所必需的。
  2. 执行 OCRperform_ocr 函数向本地 Ollama 服务发送 POST 请求,附带系统提示和 base64 编码的图像。
  3. 处理响应:脚本检查请求是否成功,然后从 JSON 响应中提取识别出的文本。
步骤五:运行您的 OCR 脚本程序

要运行您的脚本,请将 "path/to/your/image.jpg" 替换为您实际想要分析的图片文件路径,然后在你的终端里运行脚本。

运行 python ollama_ocr.py

你应该看到类似下面的输出:

OCR识别结果
从图像中识别出的文字会在这里显示。
第六步:优化结果

如果你觉得OCR结果不尽如人意,可以考虑调整你的脚本中的SYSTEM_PROMPT变量,以更好地适应你的具体需求,以便更清晰地指导Llama 3.2-Vision。

结论部分

使用 Llama 3.2-Vision 与 Ollama 构建一个 OCR 应用程序是简单且功能强大的,由于它具有多模态能力。通过这些步骤,您可以在笔记本电脑上创建一个来利用先进 AI 技术进行文本识别的 OCR 工具。

你可以尝试不同的图片和提示,探索这个模型的所有可能性!随着人工智能的进步,Llama 3.2-Vision 这样的工具只会变得越来越擅长高效地理解和处理图像信息。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消