win10 环境下Python 3.8按装fastapi paddlepaddle 进行图片文字识别1

这篇具有很好参考价值的文章主要介绍了win10 环境下Python 3.8按装fastapi paddlepaddle 进行图片文字识别1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

###按装
用conda 创建python 3.8的环境,可参看本人python下的其它文章。
在pycharm开发环境下按装相关的模块:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple fastapi
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  "uvicorn[standard]"
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip install "paddleocr>=2.0.1" -i https://mirror.baidu.com/pypi/simple
pip install  shapely -i https://mirror.baidu.com/pypi/simple

###开发代码:



# 导入requests库,用于发送HTTP请求
import requests
# 导入FastAPI库,用于构建高性能的Web应用程序
from fastapi import FastAPI
# 导入PaddleOCR及其draw_ocr方法,PaddleOCR是一个使用PaddlePaddle深度学习框架的OCR工具
from paddleocr import PaddleOCR, draw_ocr
# 导入BytesIO,用于在内存中处理二进制流
from io import BytesIO
# 导入PIL库中的Image模块,用于处理图像
from PIL import Image
import os

# 初始化PaddleOCR实例,配置使用方向分类器、不使用GPU、识别中文
ocr = PaddleOCR(use_angle_cls=True, use_gpu=False, lang="ch")
# 创建一个FastAPI应用实例
app = FastAPI()


# 定义一个异步的GET请求处理函数,路径为"/",接收一个名为url的查询参数
@app.get("/")
async def root(url: str):
    try:
        # 使用requests库发送GET请求,获取指定URL的图片,stream=True表示以流的形式下载大文件
        response = requests.get(url, stream=True)
        # 如果HTTP请求返回的状态码不是200,则引发HTTPError异常
        response.raise_for_status()
        # 检查响应头中的content-type是否包含'image',以确认返回的内容是图片
        if 'image' not in response.headers.get('content-type', ''):
            # 如果不是图片,返回错误信息,HTTP状态码为400(Bad Request)
            return {"error": "The provided URL does not point to an image."}, 400
            # 使用BytesIO将响应内容转换为二进制流
        image_bytes = BytesIO(response.content)
        # 使用PIL库打开二进制流中的图像
        image = Image.open(image_bytes)

        # 将图像保存到临时文件中(这里是为了适应PaddleOCR可能需要文件路径的API)
        # 注意:这里的代码实际上有一个逻辑错误,因为image.save()应该放在with语句块内以确保文件正确关闭
        temp_image_path = "temp_image.jpg"
        with open(temp_image_path, "wb") as image_file:
            image.save(image_file, format='JPEG')
            # 调用PaddleOCR的ocr方法进行OCR处理,cls=True表示使用分类器
        result = ocr.ocr(temp_image_path, cls=True)
        if os.path.exists(temp_image_path):
            os.remove(temp_image_path)
        results = []
        # 遍历最外层的列表
        for item in result:
            # 遍历内层的列表
            for sub_item in item:
                # 提取文本和可能性
                text = sub_item[1][0]  # 文本位于第二个子列表的第一个位置
                probability = sub_item[1][1]  # 可能性位于第二个子列表的第二个位置
                # 将提取的文本和可能性作为一个元组添加到结果列表中
                results.append((text, probability))
        # 返回OCR处理结果,封装在message字段中(注意:这里没有删除临时文件,可能会导致磁盘空间被占用)
        return {"message": results}
    except requests.exceptions.RequestException as e:
        # 如果在发送HTTP请求过程中发生异常,捕获异常并返回错误信息,HTTP状态码为500(Internal Server Error)
        return {"error": f"An error occurred while downloading the image: {str(e)}"}, 500
    except Exception as e:
        # 如果在处理过程中发生其他类型的异常,同样捕获异常并返回错误信息,HTTP状态码为500
        return {"error": f"An error occurred during OCR processing: {str(e)}"}, 500

在网上找一张图片:
https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB1ifoqa.img?w=768&h=662&m=6
win10 环境下Python 3.8按装fastapi paddlepaddle 进行图片文字识别1,python,python,fastapi,paddlepaddle
运行代码:

uvicorn main:app --reload

返回结果:

{
    "message": [
        [
            "狗仔说张天爱手撕徐开骋得罪了人,资源掉了不",
            0.9765021800994873
        ],
        [
            "少,最近一直没有新男友,是不是又怕被录音啊?",
            0.9926691055297852
        ],
        [
            "C薰衣草Sallie的微博视频",
            0.9560778737068176
        ],
        [
            "飞哥追瓜速报",
            0.9982643723487854
        ],
        [
            "快手搜索追瓜少年阿",
            0.8913857936859131
        ]
    ]
}

win10 环境下Python 3.8按装fastapi paddlepaddle 进行图片文字识别1,python,python,fastapi,paddlepaddle文章来源地址https://www.toymoban.com/news/detail-829649.html

到了这里,关于win10 环境下Python 3.8按装fastapi paddlepaddle 进行图片文字识别1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pycharm虚拟环境安装指定python版本/ python3.8 / 从python3.9降级到3.8

    我在网上找了一圈发现各种命令,尤其是说: virtualenv -p python3 py38 可以指定版本, 也没个解释,我真的酸Q ! 这个命令是意思是创建一个 py38 目录,实际上用的版本还是环境变量所指向的版本.-p 其实是指定路径比如, -p C:…python 要想指定版本,本机必须已经有一个版本,注意, 必

    2024年02月03日
    浏览(50)
  • Win10 python环境测试selenium加IE浏览器自动化-踩坑实录

    【背景】 需要访问某个旧网址,仅支持IE浏览器访问。为了实现自动化,被迫采用python加selenium、加IE浏览器来做。 【实录】 selenium采用IE浏览器方式的资料不多,网上可供参考范例不多。以下实时记录整个过程,实现调通一个基本访问实例。 【第一步】安装正确版本的sele

    2024年01月21日
    浏览(99)
  • 【Python开发】FastAPI 10:SQL 数据库操作

    在 FastAPI 中使用 SQL 数据库可以使用多个 ORM 工具,例如 SQLAlchemy、Tortoise ORM 等,类似 Java 的 Mybatis 。这些 ORM 工具可以帮助我们方便地与关系型数据库进行交互,如 MySQL 、PostgreSQL等。本篇文章将介绍如何使用 SQLAlchemy 来完成数据库操作,以便让我们在 FastAPI 项目中方便地进

    2024年02月14日
    浏览(41)
  • 在win10电脑上搭建python环境下的本地AI绘画工具Stable Diffusion

    随着Chatgpt的横空出世,人工智能受到了前所没有的热棒,AI绘画也进入大众的视野。 Stable Diffusion是一种可以部署在本地环境上运行的人工智能绘画工具,图形运算主要用到的是显卡的GPU性能,因此 最好有至少4G显存的显卡 。 Stable Diffusion首先需要搭建本地的UI界面即:stabl

    2024年02月16日
    浏览(52)
  • GPU深度学习环境搭建:Win10+CUDA 11.7+Pytorch1.13.1+Anaconda3+python3.10.9

    在命令行中输入【nvidia-smi】可以当前显卡驱动版本和cuda版本。 根据显示,显卡驱动版本为:Driver Version: 516.59,CUDA 的版本为:CUDA  Version 11.7。 此处我们可以根据下面的表1 显卡驱动和cuda版本对应关系得知,Driver Version: 527.47  516.31,所以可以使用 CUDA Version 11.7 CUDA工具版本

    2024年04月26日
    浏览(80)
  • Win11环境Mecab日语分词和词性分析以及动态库DLL not found问题(Python3.10)

    日语因为存在假名,会导致翻译软件进行翻译时机翻味道过重的问题,比如積ん読(つんどく)这个词,大多数软件会翻译成:堆积的读,但其实是明明买了书却不读,光放着的意思。有时候也需要单独查句子中的单词释义来理解句子的意思,但一看下去全是假名,无法像中

    2024年02月03日
    浏览(39)
  • python fastapi 入门教程,每个案例都使用postman进行测试写的接口

    官方示例代码 运行命令:uvicorn test:app --reload 注意:运行命令app前面那个是文件位置,官方的文件名叫main,要以实际的文件名为准,不然找不到app 测试无r参数情况 测试有r参数情况 2.1、错误写法 报错了 2.2、正确写法 2.3、嵌套多个请求参数(不明白的话看下面的postman的请求

    2023年04月08日
    浏览(38)
  • 在win10电脑上搭建python环境下的本地AI绘画工具Stable Diffusion(我的电脑AI作品欣赏)

     宁静的午后 孪生姐妹   美女 街景   印象大师  

    2024年02月15日
    浏览(40)
  • win10加入域环境

    目录 设置静态ip及dns配置 登录域 创建域控制器账户 域内账户登录域 给Windows 10客户端添加DNS服务器地址(即域服务器的IP地址)。“控制面板”—“网络和共享中心”,右键点击和域服务器通讯的网卡,选择“属性”,双击“Internet协议版本4(TCP/IPv4)”,在“首选DNS服务器”

    2024年02月15日
    浏览(88)
  • win10环境变量作用

    ComSpec: C:WINDOWSsystem32cmd.exe command specification 解释:ComSpec是Windows操作系统中的一个环境变量,它表示Windows命令解释器(即命令提示符)的完整路径,通常是C:WINDOWSsystem32cmd.exe。当用户在命令提示符窗口中输入命令时,Windows会使用ComSpec变量中指定的解释器来解释并执行这些

    2024年02月05日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包