一键生成!轻量级 AI 证件照制作工具!

news/2024/9/19 3:14:01/文章来源:https://www.cnblogs.com/codechen8848/p/18402866

大家好,我是 Java陈序员

在日常生活中,我们需要各式各样的证件照。有时候需要不同的尺寸,一寸、两寸、小二寸...而有的时候需要不同的背景,白底、蓝底、红底...

拍摄不同格式的证件照,需要我们往返于摄像馆,十分麻烦,又需要支出一定的花费!

今天,给大家介绍一款免费的 AI 证件照制作工具,使用 AI 帮助我们一键生成不同尺寸、背景的证件照!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

HivisionIDPhotos —— 一个轻量级的 AI 证件照制作工具,利用一套完善的模型工作流程,实现对多种用户拍照场景的识别、抠图与证件照生成。

功能特色

  • 轻量级抠图:仅需 CPU 即可快速推理
  • 功能齐全:根据不同尺寸规格生成不同的标准证件照、六寸排版照
  • 快速高效:能够在几秒钟内处理图像,生成符合标准的证件照
  • 跨平台支持:支持多种操作系统,无论是 Windows、macOS 还是 Linux 用户都能轻松使用
  • 易于集成:提供清晰的 API 文档和示例代码,方便开发者快速集成到自己的项目中

项目体验

HivisionIDPhotos 提供了一个简单易用的 Web 界面供使用,我们只需要上传图像,选定好预设尺寸、背景色、渲染方式、设置 KB 大小等就能快速生成标准照、高清照和六寸排版照。

在预设尺寸中,工具帮我们设定好了一些常用证件照的尺寸,如教师资格证、英语四六级考试、电子驾驶证等,我们直接选定使用。当然也可以自定义尺寸!

背景色中,除了提供常用的蓝底、白底、红底外,还支持自定义颜色。

自定义颜色需要输入对应的红(R)、绿(G)、蓝(B)值。

可能有时候因为一些官方要求,生成的证件照有大小要求,HivisionIDPhotos 也支持我们在生成证件照的时候,设置大小。

下面是一些生成证件照的效果图:

快速上手

环境安装与依赖

环境依赖

  • Python >= 3.7
  • onnxruntime
  • OpenCV
  • Option: Linux, Windows, MacOS

1、拉取代码

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

2、安装依赖环境

cd  HivisionIDPhotos
pip install -r requirements.txt
pip install -r requirements-app.txt

3、下载权重文件 hivision_modnet.onnx (24.7MB),并存到项目的 hivision/creator/weights 目录下

下载地址:https://github.com/Zeyi-Lin/HivisionIDPhotos/releases/tag/pretrained-model

运行 Gradio Demo

python app.py

运行程序将生成一个本地 Web 页面,在页面中可完成证件照的操作与交互。

启动成功后,浏览器访问:http://localhost:7860/

运行 API 服务

python deploy_api.py

API 服务提供了以下 3 个 API:

1、生成证件照(底透明):发送一张 RGB 图像,输出一张标准证件照和一张高清证件照

curl -X POST "http://127.0.0.1:8080/idphoto" \
-F "input_image=@demo/images/test.jpg" \
-F "height=413" \
-F "width=295"

2、添加背景色:送一张 RGBA 图像,根据 color 添加背景色,合成一张 JPG 图像

curl -X POST "http://127.0.0.1:8080/add_background" \
-F "input_image=@test.png" \
-F "color=638cce" \
-F "kb=200"

3、生成六寸排版照:发送一张 RGB 图像(一般为添加背景色之后的证件照),根据 size 进行照片排布,然后生成一张六寸排版照

curl -X POST "http://127.0.0.1:8080/generate_layout_photos" \
-F "input_image=@test.jpg" \
-F "height=413" \
-F "width=295" \
-F "kb=200"

项目提供了 cURLPythonJavaJavaScript 的请求示例,详细的使用可参考文档:

https://github.com/Zeyi-Lin/HivisionIDPhotos/blob/master/docs/api_CN.md

Docker 部署

1、拉取镜像

docker pull linzeyi/hivision_idphotos:v1

2、运行 Gradio Demo

docker run -p 7860:7860 hivision_idphotos

在你的本地访问 http://127.0.0.1:7860 即可使用。

3、运行 API 后端服务

docker run -p 8080:8080 hivision_idphotos python3 deploy_api.py

HivisionIDPhotos 利用先进的 AI 技术,自动识别人脸并调整照片的背景、光线和尺寸,确保输出的证件照满足各种官方要求。大家快去安装体验吧~

项目地址:https://github.com/acmenlei/codecv

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!


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

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

相关文章

[问题排查]CPU占用过高

查看占用cpu高的进程 top 按P 如下图:可看出PID为7149的java进程占用cpu最高,达到了98%查看进程中最耗cpu的子线程 top -Hp 7149 如下图:可看出PID为7166的线程占用cpu最高,达到了97.7%将最耗cpu的线程id转换为16进制输出 perl printf "%x \n" 7166 查询具体出现…

白云龙期货投资-第八讲

假突破的深度分析 一 高低点 平台之假突破深度分析 二 趋势线假突破之深度分析 三 假突破实盘应变操作法 假突破之飘旗确认法 在上沿做旗形整理,假突破假突破之空间确认法盘久必跌 趋势线假突破之深度分析假突破实盘应变方法 一 任何突破后不要急于进场,要看下一步行情的反应…

章13——包装类——StringBuilder类

StringBuilder介绍其继承关系和 StringBuffer 是一样的。同 StringBuffer 一样,是在堆中(value[])而非在常量池中。 三种 String 的对比有关复用率高的解读:String 的内容在常量池中,相同内容的对象(或其在堆中的东西)都可以指向常量池中的同一个位置 效率问题:StringB…

章13——常用类——StringBuffer类

基本介绍即 StringBuffer 是存在堆中的而非常量池中的。(value 数组存放字符串内容) 与 String 的对比StringBuffer:不用每次更新地址,但当数组空间不够时,会扩大并且更新地址。 构造器StringBuffer stringBuffer = new StringBuffer();StringBuffer stringBuffer1 = new …

Windows的树形目录结构

一、文件、文件夹(目录)、逻辑盘、路径的概念文件:是操作系统用来存储和管理信息的基本单位文件夹也叫目录:是文件的集合体,文件夹中可包含多个文件,也可包含多个子文件夹。每个文件夹都有一个唯一的名称,用于在文件系统中标识和访问。逻辑盘,计算机的外存储器一…

高等数学 2.5 函数的微分

目录一、微分的定义二、微分的几何意义三、微分运算1、函数和、差、积、商的微分法则2、复合函数的微分法则四、微分在近似计算中的应用 一、微分的定义定义 设函数 \(y = f(x)\) 在某区间内有定义,\(x_0\) 及 \(x_0 + \Delta x\) 在这区间内,如果函数的增量 \[\Delta y = f(…

信息学奥赛初赛天天练-91-CSP-S2023基础题3-编译命令、树的重心、拓扑排序、进制转换、R进制转十进制、十进制转R进制

PDF文档公众号回复关键字:202409172023 CSP-S 选择题 1单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项) 11 以下哪个命令,能将一个名为 main.cpp 的 C++ 源文件,编译并生成一个名为 main 的可执行文件?( ) A g++ -o main main.cpp B g++ -o main.…

匀变速直线运动的规律

匀变速直线运动的规律 一、定义:匀变速直线运动为沿一条直线且加速度恒定不变的运动,在 \((v-t)\) 图中,其表示为一条倾斜的直线。二、关于字母的解释:\(v_0\) 表示初始速度,\(v_t\) 表示末速度,\(t\) 表示时间,\(a\) 表示加速度,\(s\) 代表位移。 三、关于匀变速直线运…

Java 性能调优:优化 GC 线程设置

垃圾回收器使用一组称为 GC 线程的线程来执行回收工作。有时 JVM 可能会分配过多或过少的 GC 线程。本文将讨论 JVM 为什么会出现这种情况、其影响以及可能的解决方案。 1 咋查找应用程序的 GC 线程数量 进行线程转储分析来确定应用程序的 GC 线程数量:从生产服务器捕获thread…

微信授权登录接口开发

微信登陆过程 在项目开发中,难免会遇到微信授权登录这一操作,本讲来讲一下微信登陆是如何实现的? 关于校验登录,有诸多方法,记录方法如下:使用Spring MVC提供的拦截器 网关服务全局过滤器 使用AOP面向横切面实现对于使用Spring MVC提供的拦截器来实现,其大致的思路如下:注…

1 计算机系统

计算机系统抽象层次6 用户 可执行程序5 高级语言 C++ Java4 汇编语言 汇编代码3 系统软件 操作系统 /库代码2 机器 指令集架构(ISA)1 控制(控制怎么执行) 微代码 /硬连线0 数字逻辑(执行) 电路、门等Language Processor: 语言处理器 语言处理器的两个阶段:分析源程序 合成目…

人工智能生成合成内容标识办法(征求 意见稿)发布

当前国家发布的关于人工智能生成合成内容标识的法律法规有:《中华人民共和国网络安全法》、《互联网信息服务算法推荐管理规定》、《互联网信息服务深度合成管理规定》、《生成式人工智能服务管理暂定办法》等。 征求意见稿 2024年9月14日,国家网信办发布关于《人工智能生成合…