DeOldify 接口化改造 集成 Flask

这篇具有很好参考价值的文章主要介绍了DeOldify 接口化改造 集成 Flask。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

类似的图片修复项目 GFPGAN 的改造见我另一篇文
https://blog.csdn.net/weixin_43074462/article/details/132497146

DeOldify 是一款开源软件,用于给黑白照片或视频上色,效果还不错。

安装部署教程请参考别的文章,本文基于你给项目跑通,并 pip 集成过 flask 后

本修改支持加载一次模型,持续提供 HTTP 服务

在根目录新建主文件 run_serv.py

import io

from deoldify import device
from deoldify.device_id import DeviceId
from deoldify.visualize import *
from flask import Flask, request, Response

app = Flask(__name__)

# 提取通用代码
# choices:  CPU, GPU0...GPU7
device.set(device=DeviceId.GPU0)
plt.style.use('dark_background')
colorizer = get_image_colorizer(artistic=True)
torch.backends.cudnn.benchmark = True


@app.route('/action', methods=['POST', 'GET'])
def action():
    file = request.files['file']
    img_name = file.filename
    _, ext = os.path.splitext(img_name)
    img_in_memory = io.BytesIO(file.read())

	#此处的35应该是种子而不是参数 可以改成25或者什么的,影响似乎不大
    img_ret = colorizer.get_transformed_image_pzj(img_in_memory, 35)
    # colorizer.plot_transformed_image(path='C:/Users/PiaoZhenJia/Pictures/微信图片_20230728194252.png',
    #                                  render_factor=35, results_dir=Path('D:/'), post_process=False, watermarked=False)

    img_ret_bytes = io.BytesIO()
    img_ret.save(img_ret_bytes, format='PNG')
    img_ret_bytes.seek(0)
    res = Response(img_ret_bytes)
    res.headers.add('Content-Type', 'image/' + ext)
    res.headers.add('Content-Disposition', f'attachment; filename=colorize_{img_name}')
    return res

def main():
    app.run(port=2021, host="127.0.0.1", debug=False)


if __name__ == '__main__':
    main()

然后修改 visualize.py 我选择在187行附近加入这个函数

    def get_transformed_image_pzj(
            self, img_bytes: io.BytesIO, render_factor: int = None
    ) -> Image:
        self._clean_mem()
        orig_image = PIL.Image.open(img_bytes)
        filtered_image = self.filter.filter(
            orig_image, orig_image, render_factor=render_factor
        )

        return filtered_image

测试方法如图

DeOldify 接口化改造 集成 Flask,Python AI,flask,python,后端

接受一个form表单,file字段传输二进制图片文件,返回结果直接为二进制图片。可以通过 PostMan 的 SaveResponse 保存到一个 PNG 文件文章来源地址https://www.toymoban.com/news/detail-716848.html

到了这里,关于DeOldify 接口化改造 集成 Flask的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Python Flask 封装ChatGPT流式输出接口

    首先, 恭喜你搜到了这篇文章, 因为, 我解决这个问题时, 也搜了很久的博客, 结果都无法正确实现 截至今日, 快有半年博客没有更新了, 今天忙里偷闲, 将最近在忙的事情做一个总结 之前搞了个域名, 做了个chatgpt的工具站, 欢迎大家体验, 可以评论区留下宝贵建议: www.ktatom.com 封

    2024年02月11日
    浏览(8)
  • python3-Flask实现Api接口

    1、:python3-Flask实现Api接口_flask api_Shiro to kuro的博客-CSDN博客 2、  Flask框架的web开发01(Restful API接口规范)_flask patch post_~须尽欢的博客-CSDN博客

    2024年02月11日
    浏览(14)
  • python基于flask实现swagger在线文档以及接口测试

    python基于flask实现swagger在线文档以及接口测试

    阅读对象:知道什么是restful,有了解swagger或者openAPI更佳。 Representional State Transfer(REST):表征状态转移。是一种一种基于HTTP协议的架构。采用Web 服务使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 将所有 Web 系统的服务抽象为资源。 如果REST满足一定条件(C/S、无状态、分层系统、

    2024年02月12日
    浏览(7)
  • 手把手教你使用Flask框架构建Python接口以及如何请求该接口

    Flask是一个轻量级的Web应用框架,基于Python编写,其核心思想是保持简洁,灵活性和易于扩展。 Flask是一个轻量级的Web应用框架,基于Python编写,其核心思想是保持简洁,灵活性和易于扩展。Flask提供了基本的Web开发工具和应用程序的结构,但同时也允许开发者自由选择其他库

    2024年02月06日
    浏览(15)
  • python+flask+eventSource打造流式chatGPT生成式API接口

    后端用python,前端用web,怎么打通chatGPT API连接? 如果你遇到这样的情况: 科学上网登chat.openai.com开启一个新聊天,总是出现网页错误,刷新几次就没有对话的想法了。 获取了chatGPT的APIkey,用网上一大堆PHP/JSP/CURL的代码去试,效果很差,不是反应慢,就是兼容性不好。 用

    2024年02月04日
    浏览(12)
  • 人生苦短,我用Python 九:Flask接口并发处理:多进程、多线程

    Windows 我现在有一个flask接口文件,我有个需求:, 让这个接口可以并发处理10个请求任务,每个任务中有7个子线程任务,这7个子线程任务,为的是加快,每个请求任务的处理速度。 进程是操作系统中的一个基本概念,用于描述正在运行的程序。简单来说,进程是计算机中正

    2024年02月11日
    浏览(17)
  • 【让AI女友跟我表白】大白话说Python+Flask入门(四)Flask Sijax的使用

    【让AI女友跟我表白】大白话说Python+Flask入门(四)Flask Sijax的使用

    先吐槽两句,搞个 mysql 安装配置弄了4个小时,怎么都是外网无法访问,我靠,我特么也是服了。 当然,后来我投降了,明天再说,学什么不是学,娘的, 换个方向,状态依然在! 代表 Simple Ajax ,它是一个 Python / jQuery 库,使用 jQuery.ajax 来进行AJAX请求用的。 pip install flas

    2024年02月05日
    浏览(33)
  • 视觉学习(七)---Flask 框架下接口调用及python requests 实现json字符串传输

    视觉学习(七)---Flask 框架下接口调用及python requests 实现json字符串传输

    在项目实施过程中需要与其他系统进行接口联调,将图像检测的结果传递给其他系统接口,进行逻辑调用。这中间的过程可以通过requests库进行实现。 1.安装requests库 2.postman 接口测试 我们先通过postman 了解下接口调用,通过postman新增一个接口: 新增Collection -- 选中Collection,右

    2024年02月13日
    浏览(11)
  • HAL: 将 HIDL 接口改造为 Stable AIDL

    目录 1. 定义新的AIDL接口 1.1 编译hidl2aidl工具 1.2 执行转换 1.3 调整编译规则(bp文件) 2. 向vendor镜像添加AIDL接口 2.1 使用update-api freeze-api管理接口版本 2.2 配置 Framework Compatibility Matrix (FCM,兼容性矩阵) 2.3 配置使AIDL编译 2章报错速查 3. 实现service 3.1 编写service代码 3.2 创建serv

    2023年04月26日
    浏览(142)
  • 【chatglm2】使用Python在CPU环境中运行 chatglm.cpp 可以实现本地使用CPU运行chatglm2模型,速度也特别的快可以本地部署,把现有项目进行AI的改造。

    【chatglm2】使用Python在CPU环境中运行 chatglm.cpp 可以实现本地使用CPU运行chatglm2模型,速度也特别的快可以本地部署,把现有项目进行AI的改造。

    https://github.com/li-plus/chatglm.cpp.git 这个项目和llama.cpp 项目类似,使用C++ 去运行模型的。 项目使用了 ggml 这个核心模块,去运行的。 可以支持在 cpu 上面跑模型。 ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀

    2024年02月08日
    浏览(13)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包