AI证件照,抠图、换背景、任意尺寸...有了这个神器,证件照通通自己搞定(本地化部署教程)

news/2024/12/25 21:17:03/文章来源:https://www.cnblogs.com/taoxiaoxin/p/18401238

最近有个Github开源的AI证件照神器火了,以后再也不用专门跑一趟照相馆拍证件照了!

你随手一张日常生活照或自拍,上传到它那里,分分钟就能帮你换上。

蓝底、白底,抠掉杂乱的背景,生成各种尺寸规格的证件照

这款名叫HivisionIDPhotos的开源工具,它不仅能帮你便捷地制作出免冠白底照、蓝底照,登记照等不同类型的证件照,还支持多种常用的尺寸规格,小到1寸、大到6寸应有尽有。

想用它制作考公、考教资、四六级考试等用途的照片,通通都能满足

除了能"万能"换背景,HivisionIDPhotos还自带轻量级抠图功能,哪怕你上传的原始照片背景有些complex,它也能利用强大的AI算法,为你提取出干净利落的人像。同时,它还很贴心地提供了供六寸照打印用的排版照片,让你打印起来更加方便。

重要的是,它完全开源免费。无论你是WindowsLinux还是MacOS系统,都可以非常便捷地在本地部署运行,项目作者还贴心提供了基于FastAPI框架的API服务和Docker部署脚本。哪怕是毫无代码基础的小白,也能轻轻松松上手使用。项目主页的Demo体验链接更是省去了本地部署的麻烦,传张照片就能直接在线尝鲜。

HivisionIDPhotos 相关链接

  1. Github 开源地址:https://github.com/Zeyi-Lin/HivisionIDPhotos
  2. 预览地址:https://swanhub.co/ZeYiLin/HivisionIDPhotos/demo

本地化部署

本教程将指导你如何在本地环境中部署和运行 HivisionIDPhotos 项目。你可以选择直接在本机上安装依赖并运行,或者使用我们提供的 Docker 镜像进行快速部署。

方式一:本地环境部署

环境要求

  • Python >= 3.7(推荐使用 Python 3.10)
  • 操作系统:支持 Linux、Windows、macOS

步骤

  1. 克隆项目代码

    git clone https://github.com/Zeyi-Lin/HivisionIDPhotos.git
    cd HivisionIDPhotos
    

    如果项目拉取比较慢的话,可以通过gitee,gitcode 等工具通过导入仓库拉取项目。

  2. 创建并激活虚拟环境

    首先,使用以下命令创建一个名为 hivision 的 Python 3.10 虚拟环境:

    # 创建一个名为 `hivision` 的虚拟环境,并指定 Python 版本为 3.10
    conda create -n hivision python=3.10
    # 激活虚拟环境
    conda activate hivision
    

  1. 安装依赖库

     pip install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
    pip install -r requirements-app.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
    
  2. 下载模型权重文件

    从 Release 页面下载模型权重文件 hivision_modnet.onnx(约 24.7MB),将其放到项目的 hivision/creator/weights 目录下,这里我们直接使用wget 命令来下载模型

    wget -P hivision/creator/weights https://github.com/Zeyi-Lin/HivisionIDPhotos/releases/download/pretrained-model/hivision_modnet.onnx https://github.com/Zeyi-Lin/HivisionIDPhotos/releases/download/pretrained-model/modnet_photographic_portrait_matting.onnx
    

    如果下载比较慢的话,请使用如下命令:

    wget -P hivision/creator/weights https://gh-proxy.com/https://github.com/Zeyi-Lin/HivisionIDPhotos/releases/download/pretrained-model/hivision_modnet.onnx https://gh-proxy.com/https://github.com/Zeyi-Lin/HivisionIDPhotos/releases/download/pretrained-model/modnet_photographic_portrait_matting.onnx
    

  1. 运行 Gradio Demo

    python app.py
    

    程序将启动一个本地 Web 服务,你可以通过生成的 URL 在浏览器中访问并使用该应用。


然后就可以快乐的玩耍了

  1. 进行证件照推理(可选)

    你也可以直接使用 Python 脚本进行推理,根据需求执行以下命令:

    • 证件照制作:

      python inference.py -i demo/images/test.jpg -o ./idphoto.png --height 413 --width 295
      
    • 添加背景色:

      python inference.py -t add_background -i ./idphoto.png -o ./idphoto_ab.jpg -c 000000 -k 30 
      
    • 生成六寸排版照:

      python inference.py -t generate_layout_photos -i ./idphoto_ab.jpg -o ./idphoto_layout.jpg --height 413 --width 295 -k 200
      

方式二:Docker 部署

  1. 拉取 Docker 镜像

    镜像拉取方式二选一:

    • 从 Docker Hub 直接拉取:

      docker pull linzeyi/hivision_idphotos:v1
      docker tag linzeyi/hivision_idphotos:v1 hivision_idphotos
      
    • 从阿里云镜像仓库拉取(国内加速):

      docker pull registry.cn-hangzhou.aliyuncs.com/swanhub/hivision_idphotos:v1 
      docker tag registry.cn-hangzhou.aliyuncs.com/swanhub/hivision_idphotos:v1 hivision_idphotos
      
  2. 运行 Gradio Demo

    docker run -p 7860:7860 hivision_idphotos
    

    然后你可以在浏览器中访问 http://localhost:7860 来使用该应用。

部署 API 服务

如果你希望部署该项目的 API 服务,可以执行以下步骤:

  1. 启动 API 服务

    • 本地环境下运行:

      python deploy_api.py
      
    • 在 Docker 环境中运行:

      docker run -p 8080:8080 hivision_idphotos python3 deploy_api.py
      
  2. 请求 API

    API 的请求方式请参考项目提供的 API 文档,里面包含了使用 cURL、Python、Java、JavaScript 等语言进行请求的示例。

希望通过以上步骤,你可以顺利地在本地部署好 HivisionIDPhotos 项目。如果在部署过程中遇到任何问题,可以向开发者反馈,祝你使用愉快!

本文由博客一文多发平台 OpenWrite 发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/793318.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件工程导论作业 2:python实现论文查重

github项目地址这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13229这个作业的目标 通过Python开发个人项目,实现项目单元测试1.PSP表格PSP2.1 Personal Software P…

【工具推荐】Jeecg_Tools v1.0(最新版) - jeecg框架一键漏洞利用getshell

工具介绍: Jeecg_Tools是一款jeecg框架漏洞利用工具。本工具为jeecg框架漏洞利用工具非jeecg-boot! 下载链接: 链接:https://pan.quark.cn/s/9a1016a03402使用说明 运行于jdk8环境 java -jar Jeecg_Tools-1.0-java8.jar功能: 包含poc: 登录绕过检测 jeecgFormDemo文件上传…

必应每日壁纸API封装

简介 这个类封装了必应首页的每日壁纸查看功能,提供了查看、保存壁纸的方法,最大支持查看近8天的壁纸 使用方法 async Task Main() {try{var bing = BingWallpaperAPI.CreateInstance(8); //初始化,参数8表示一共会加载8张图片var task = await bing.Current();task.Wallpap…

第17篇 RabbitMQ安装详细步骤

一.RabbitMQ是什么? RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 ​ AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。…

How to create the Gold gold using RGB color values All In One

How to create the Gold gold using RGB color values All In OneHow to create the Gold gold using RGB color values All In One如何使用 RGB 颜色值创建金色Gold (Golden) Color Color Name: Gold (Golden) Hex Color Code: #FFD700 RGB Color Code: RGB(255, 215, 0) CMYK…

代码整洁之道--读书笔记(3)

代码整洁之道简介: 本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更…

谈谈Spring中的BeanPostProcessor接口(转)

原文:谈谈Spring中的BeanPostProcessor接口 作者:特务依昂一. 前言这几天正在复习Spring的相关内容,在了解bean的生命周期的时候,发现其中涉及到一个特殊的接口——BeanPostProcessor接口。由于网上没有找到比较好的博客,所有最后花了好几个小时,通过Spring的官方文档对它…

【python】打包神器--pyinstaller

1:简介pyinstaller是一个python的第三方库,它能够在Windows、Linux、 Mac OS 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个独立文件方便传递和管理。在Windows上使用就打包成.exe文件。在Mac上使用…

MYSQL的安装与配置流程

MYSQL的安装与配置流程 1.下载安装包 mysql官方下载链接2.解压并配置文件用管理员身份打开命令提示符进入解压的地址中使用一下命令安装MySQL服务mysqld install MySQL80 若显示下面失败的提示可以使用该指令卸载该服务后再重新安装 mysqld -remove MySQL80//此处为直接修改的服…

eyoucms易优网站后台密码忘记了怎么办?

如果你忘记了易优CMS(EyouCMS)网站后台的登录密码,可以按照以下步骤来重置密码: 方法一:使用官方提供的重置工具下载官方重置工具:访问易优CMS官网提供的重置工具下载链接:https://www.eyoucms.com/uploads/soft/200319/1-2003191Q000.zip。 下载并解压缩该工具包。上传…

eyoucms后台如何更换后台登录logo

扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站改版、BUG修复、问题处理、二次开发、PSD转HTML、网站被黑、网站漏洞修复等。专业解决各种疑难杂症,您有任何网站问题都…