尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
HivisionIDPhotos 如何使用 set_kb 接口把证件照大小精确调整到指定 KB?
HivisionIDPhotos 如何使用 set_kb 接口把证件照大小精确调整到指定 KB【免费下载链接】HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。项目地址: https://gitcode.com/GitHub_Trending/hiv/HivisionIDPhotos很多报名系统、考试报名或招聘网站会对上传的证件照做文件大小限制比如“照片大小 20–100 KB”。HivisionIDPhotos 的 API 服务提供了set_kb接口接收一张图像和目标文件大小以 KB 为单位如果设置的 KB 值小于原文件则调整压缩率如果设置的 KB 值大于源文件则通过给文件头添加信息的方式调大 KB 值目标是让图像的最终大小与设置的 KB 值一致。本文给出启动服务、调用接口、验证结果大小的完整操作路径。前提启动 API 后端服务set_kb是 API 服务的一个接口请求前先启动后端。环境要求来自 READMEPython 3.7项目主要测试在 python 3.10建议使用 conda 创建 python3.10 虚拟环境安装依赖pip install -r requirements.txt pip install -r requirements-app.txt下载模型python scripts/download_model.py --models all然后在仓库根目录启动服务详见 README 与 API 文档python deploy_api.pydeploy_api.py 内部使用uvicorn.run(app, host0.0.0.0, port8080)启动 FastAPI 服务即接口基地址为http://127.0.0.1:8080。调用 set_kb 接口接口请求参数来自 docs/api_CN.md参数名类型必填说明input_imagefile和input_image_base64二选一传入的图像文件图像文件需为 RGB 三通道图像。input_image_base64str和input_image二选一传入的图像文件的 base64 编码图像文件需为 RGB 三通道图像。kbint否输出照片的 KB 值。dpiint否图像分辨率默认为300。返回参数参数名类型说明statusint状态码true表示成功image_base64str设置 KB 大小之后的图像的 base64 编码注意接口对输入有明确要求图像需为 RGB 三通道图像所以建议传入加好背景色的 JPG 证件照而不是透明底 RGBA 图。方式一cURLdemo/images/test0.jpg是仓库自带的测试图约 204 KB把它压缩到 50 KBcurl -X POST \ http://127.0.0.1:8080/set_kb \ -H accept: application/json \ -H Content-Type: multipart/form-data \ -F input_imagedemo/images/test0.jpg;typeimage/jpeg \ -F kb50 \ -F dpi300需要换成自己的照片时替换demo/images/test0.jpg为实际图片路径kb改成目标 KB 值即可dpi不传时默认300。方式二Python requestsimport requests # 设置请求的 URL url http://127.0.0.1:8080/set_kb # 设置文件和其他表单数据 input_image_path demo/images/test0.jpg files {input_image: open(input_image_path, rb)} data {kb: 50, dpi: 300} # 发送 POST 请求 response requests.post(url, filesfiles, datadata) # 检查响应 if response.ok: # 输出响应内容 print(response.json()) else: # 输出错误信息 print(fRequest failed with status code {response.status_code}: {response.text})代码中的input_image_path需替换为你自己的 RGB 图像路径data里的kb为目标 KB 值。验证结果大小接口返回的是 base64 编码要核对实际文件大小需要解码落盘。上面的 Python 代码可以改成import base64 if response.ok: result response.json() if result[status]: image_bytes base64.b64decode(result[image_base64]) with open(output_kb.jpg, wb) as f: f.write(image_bytes) print(len(image_bytes) / 1024, KB) else: print(result)判断方式以文档返回参数为准status为true表示处理成功image_base64即调整后的图像把落盘文件的实际大小与kb参数对照即可确认是否达到目标值。若status为false响应中会带error信息。实现机制与限制从 hivision/utils.py 中set_kb最终调用的resize_image_to_kb可以看到具体做法以 JPEG 格式编码初始quality为 95若文件仍大于目标 KB每次将 quality 降低 5 再试直到文件小于等于目标 KB 或 quality 降到 1编码结果小于目标 KB 时通过追加填充字节把文件补齐到目标大小这就是文档所说“给文件头添加信息的方式调大 KB 值”因此目标 KB 越小压缩率压得越低图像清晰度损失越大设置目标值时应留有余量输入必须能解码为 RGB 三通道图像接口内用cv2.imdecode(..., cv2.IMREAD_COLOR)读取传入 RGBA 透明底图时透明通道会被处理掉应先调用add_background接口加上背景色再调set_kb。另外add_background添加背景色和 generate_layout_photos生成六寸排版照两个接口也带有可选的kb参数如果是在生成证件照的链路上顺带控制大小可以在那一步直接带上不必单独再调set_kb。下一步接口返回的 base64 图像可直接在前端合成预览或转存文件后上传更多参数与请求示例见 docs/api_CN.mdDocker 部署方式见 README。【免费下载链接】HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。项目地址: https://gitcode.com/GitHub_Trending/hiv/HivisionIDPhotos创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

2026年AI学术写作工具全解析与实战指南

2026年AI学术写作工具全解析与实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/14 8:35:49
构建水果质量检测器:IoT-For-Beginners 制造项目实战——边缘 AI 分类、多设备协同与云端服务整合

构建水果质量检测器:IoT-For-Beginners 制造项目实战——边缘 AI 分类、多设备协同与云端服务整合

构建水果质量检测器:IoT-For-Beginners 制造项目实战——边缘 AI 分类、多设备协同与云端服务整合 【免费下载链接】IoT-For-Beginners 12 Weeks, 24 Lessons, IoT for All! 项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners 本文围绕 I…

📅 2026/9/14 8:30:48
amis 辅助类字体斜体样式:italic 与 not-italic 工具类使用与实现解析

amis 辅助类字体斜体样式:italic 与 not-italic 工具类使用与实现解析

amis 辅助类字体斜体样式:italic 与 not-italic 工具类使用与实现解析 【免费下载链接】amis 前端低代码框架,通过 JSON 配置就能生成各种页面。 项目地址: https://gitcode.com/GitHub_Trending/am/amis 本篇指南围绕 amis 低代码框架&#xff0…

📅 2026/9/14 8:30:48
MORE NEWS

更多资讯

📰

Typer 命令帮助里怎么写 Rich Markdown 和 Markup 富文本

Typer 命令帮助里怎么写 Rich Markdown 和 Markup 富文本 【免费下载链接】typer Typer, build great CLIs. Easy to code. Based on Python type hints. 项目地址: https://gitcode.com/GitHub_Trending/ty/typer 当你用 Typer 给 CLI 写 --help 时,docstri…

📰

晶振电路设计三大核心:起振、精度与稳定性

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Megatron-LM CI/CD 实战指南:PR Scope 标签、内部 GitLab CI 触发与失败排查

Megatron-LM CI/CD 实战指南:PR Scope 标签、内部 GitLab CI 触发与失败排查 【免费下载链接】Megatron-LM Ongoing research training transformer models at scale 项目地址: https://gitcode.com/GitHub_Trending/me/Megatron-LM 本篇技术指南聚焦 Megatr…

📰

小程序商城开发:原生与跨端框架选型决策指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

AIGC检测与降率工具:原理、应用与行业解决方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Flipper Zero 固件 RFID 测试用例实战:读取、模拟、写入与手动建卡的全流程验证方法

Flipper Zero 固件 RFID 测试用例实战:读取、模拟、写入与手动建卡的全流程验证方法 【免费下载链接】flipperzero-firmware Flipper Zero firmware source code 项目地址: https://gitcode.com/GitHub_Trending/fl/flipperzero-firmware 本文以仓库中的官方…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬