告别照相馆!使用AI证件照工具HivisionIDPhotos打造在线证件照制作软件
文章目录
- 前言
- 1. 安装Docker
- 2. 本地部署HivisionIDPhotos
- 3. 简单使用介绍
- 4. 公网远程访问制作照片
- 4.1 内网穿透工具安装
- 4.2 创建远程连接公网地址
- 5. 配置固定公网地址
前言
本文主要介绍如何在Linux系统使用Docker快速部署一个AI证件照工具HivisionIDPhotos,并结合cpolar内网穿透工具轻松实现远程访问制作证件照,无需二次部署与公网IP。
HivisionIDPhotos是一款开源的图片处理工具,可以利用AI模型对照片进行轻量级智能抠图、调整尺寸生成不同的标准证件照、替换背景、美颜、智能换正装等操作。有了它,自己在家也能轻松搞定证件照,不用非得去照相馆或者某宝找人弄了,而且在本地部署,无需担心个人信息泄露。

目前已经获得了10K+的星星,支持Windows、Linux、MacOS等多个平台,可以使用python或者docker进行部署,本例中使用docker进行演示,系统为ubuntu18.04版本。
【视频教程】
【自制证件照】不用PS,Docker+HivisionIDPhotos,AI帮你一键搞定!
1. 安装Docker
在终端中执行下方命令安装docker:
curl -fsSL https://get.docker.com -o get-docker.sh
然后启动docker:
sudo sh get-docker.sh
最后我们在docker容器中运行下 hello world 看一下是否安装成功:
sudo docker container run hello-world
可以看到出现了hello world,也就是说明我们已经安装docker成功:

2. 本地部署HivisionIDPhotos
在终端中执行下方命令启动该项目Docker容器:
sudo docker run -d -p 7860:7860 linzeyi/hivision_idphotos

启动完成后,我们可以在浏览器中输入:localhost:7860
接下来就可以在web页面中使用HivisionIDPhotos来制作证件照啦!
PS:如无法拉取docker镜像,可以配置docker镜像源,在终端执行:
sudo nano /etc/docker/daemon.json输入下列内容,保存退出。
{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.1panel.live"] }然后重新启动docker服务:
sudo systemctl restart docker
3. 简单使用介绍
主界面如下:

可以点击或直接把要制作的图片拖入,然后在下方选择相关参数:

这里以一寸照片,蓝色背景为例:

选择完毕后,点击开始制作:
几十秒后即可完成:

左侧标准,右侧高清,下方还能生成10张排版的格式。
展开下方栏目,还能看到同时生成了社交媒体模版照和抠图图像,确实挺方便:

想要下载制作好的图片,只要点击图片右上角的下载按钮即可:

4. 公网远程访问制作照片
目前我们在本地电脑上部署了HivisionIDPhotos,但是目前仅能在本地局域网内访问,如果在其他地方也想远程使用它来制作证件照,那就需要给这个本地服务配置公网地址了。不过也不麻烦,只需要结合Cpolar内网穿透工具就能轻松实现公网环境也能访问本地局域网内部署的服务 。
4.1 内网穿透工具安装
下面是安装cpolar步骤:
Cpolar官网地址: https://www.cpolar.com
我们在Ubuntu系统终端中执行下方一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示active running即为正常启动)
sudo systemctl status cpolar

成功安装并启动cpolar内网穿透服务后,在浏览器上输入ubuntu主机IP加9200端口【http://localhost:9200】即可访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

4.2 创建远程连接公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道,填写下列信息点击创建:
- 隧道名称:可自定义,本例使用了: HIDPhotos 注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:7860
- 域名类型:随机域名
- 地区:选择China VIP

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中远程访问即可。

如下图所示,成功实现使用公网地址异地远程访问本地部署的HivisionIDPhotos证件照制作服务。

小结
为了方便演示,我们在上边的操作过程中使用了cpolar生成的https公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。
如果想长期远程使用它制作照片,或者访问其他本地部署的服务,需要固定公网地址,这样地址不会发生变化,可以永久使用,推荐大家通过配置固定的二级子域名的方式来远程访问。
5. 配置固定公网地址
为其配置二级子域名后,该公网地址为固定地址,不会随机变化。
注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】
登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是 myidphoto,大家也可以自定义喜欢的名称。

保留成功后复制保留成功的二级子域名的名称:myidphoto,返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道 HIDPhotos ,点击右侧的编辑:

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名:myidphoto
- 地区:选择China VIP
点击更新(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名:

然后使用这个固定的https公网地址在浏览器访问,可以看到访问成功,这样即使出门在外也可以随时随地使用这个网址来远程访问本地部署的 HivisionIDPhotos 来制作照片啦!

以上就是如何在Linux Ubuntu系统使用Docker部署 HivisionIDPhotos AI图片处理工具,并结合cpolar内网穿透工具配置固定公网地址,实现随时随地远程访问本地搭建的证件照工具制作照片的全部流程,感谢您的观看,如果你也有远程访问本地部署服务的需求,不妨体验一下cpolar带来的安全、方便与快捷!
相关文章:
告别照相馆!使用AI证件照工具HivisionIDPhotos打造在线证件照制作软件
文章目录 前言1. 安装Docker2. 本地部署HivisionIDPhotos3. 简单使用介绍4. 公网远程访问制作照片4.1 内网穿透工具安装4.2 创建远程连接公网地址 5. 配置固定公网地址 前言 本文主要介绍如何在Linux系统使用Docker快速部署一个AI证件照工具HivisionIDPhotos,并结合…...
通信原理第三次实验
实验目的与内容 实验操作与结果 5.1 刚开始先不加入白噪声,系统设计如下: 正弦波参数设置如下: FM设计如下: 延迟设计如下: 两个滤波器设计参数如下: 输出信号频谱为(未加入噪声)&a…...
【halcon】Metrology工具系列之 get_metrology_object_result_contour
get_metrology_object_result_contour (操作员) 名称 get_metrology_object_result_contour — 查询测量对象的结果轮廓。 签名 get_metrology_object_result_contour( : Contour : MetrologyHandle, Index, Instance, Resolution : ) 描述 get_metrology_object_result_…...
A052-基于SpringBoot的酒店管理系统
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…...
NLP信息抽取大总结:三大任务(带Prompt模板)
信息抽取大总结 1.NLP的信息抽取的本质?2.信息抽取三大任务?3.开放域VS限定域4.信息抽取三大范式?范式一:基于自定义规则抽取(2018年前)范式二:基于Bert下游任务建模抽取(2018年后&a…...
python常见问题-pycharm无法导入三方库
1.运行环境 python版本:Python 3.9.6 需导入的greenlet版本:greenlet 3.1.1 2.当前的问题 由于需要使用到greenlet三方库,所以进行了导入,以下是我个人导入时的全过程 ①首先尝试了第1种导入方式:使用pycharm进行…...
迅为RK3588开发板Android系统开发笔记-使用ADB工具
1 使用 ADB 工具 ADB 英文名叫 Android debug bridge ,是 Android SDK 里面的一个工具,用这个工具可以操作管理 Android 模拟器或者真实的 Android 设备,主要的功能如下所示: 在 Android 设备上运行 shell 终端,用命…...
什么是分布式数据库?
随着现代互联网应用和大数据时代的到来,分布式数据库成为了解决大规模数据存储和高并发处理的核心技术之一。本文将通过深入浅出的方式,带你全面理解分布式数据库的概念、工作原理以及底层实现技术。无论你是刚刚接触分布式数据库的开发者,还…...
Leetcode 3363. Find the Maximum Number of Fruits Collected
Leetcode 3363. Find the Maximum Number of Fruits Collected 1. 解题思路2. 代码实现 题目链接:3363. Find the Maximum Number of Fruits Collected 1. 解题思路 这一题是一道陷阱题…… 乍一眼看过去,由于三人的路线完全可能重叠,因此…...
【数据仓库 | Data Warehouse】数据仓库的四大特性
1. 前言 数据仓库是用于支持管理和决策的数据集合,它汇集了来自不同数据源的历史数据,以便进行多维度的分析和报告。数据仓库的四大特点是:主题性,集成性,稳定性,时变性。 2. 主题性(Subject-Oriented) …...
springboot配置多数据源mysql+TDengine保姆级教程
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pom文件二、yamlDataSourceConfigServiceMapper.xml测试总结 前言 Mybatis-plus管理多数据源,数据库为mysql和TDengine。 一、pom文件 <de…...
dns实验2:反向解析
启动服务: 给虚拟机网卡添加IP地址: 查看有几个IP地址: 打开配置文件: 重启服务,该宽松模式,关闭防火墙: 本机测试: windows测试:(本地shell)...
ZooKeeper 基础知识总结
先赞后看,Java进阶一大半 ZooKeeper 官网这样介绍道:ZooKeeper 是一种集中式服务,用于维护配置信息、命名、提供分布式同步和提供组服务。 各位hao,我是南哥,相信对你通关面试、拿下Offer有所帮助。 ⭐⭐⭐一份南哥编写…...
npm库xss依赖的使用方法和vue3 中Web富文本编辑器 wangeditor 使用xss库解决 XSS 攻击的方法
npm库xss依赖的使用方法和vue3 中Web富文本编辑器 wangeditor 使用xss库解决 XSS 攻击的方法 1. npm库xss依赖的使用方法1.1 xss库定义1.2 xss库功能 2. vue3 中 wangeditor 使用xss库解决 XSS 攻击的方法和示例2.1 在终端执行如下命令安装 xss 依赖2.2 在使用 wangeditor 的地…...
微信小程序蓝牙writeBLECharacteristicValue写入数据返回成功后,实际硬件内信息查询未存储?
问题:连接蓝牙后,调用小程序writeBLECharacteristicValue,返回传输数据成功,查询硬件响应发现没有存储进去? 解决:一直以为是这个write方法的问题,找了很多相关贴,后续进行硬件日志…...
5G NR:带宽与采样率的计算
100M 带宽是122.88Mhz sampling rate这是我们都知道的,那它是怎么来的呢? 采样率 子载波间隔 * 采样长度 38.211中对于Tc的定义, 在LTE是定义了Ts,在NR也就是5G定义了Tc。 定义这个单位会对我们以后工作中的计算至关重要。 就是在…...
go 和java 编写方式的理解
1. go 推荐写流水账式的代码(非贬义),自己管自己。java喜欢封装各种接口供外部调用,让别人来管自己。 2. 因为协程的存在, go的变量作用域聚集在方法内部,即函数不可重入,而java线程的限制&…...
C# 7.1 .Net Framwork4.7 VS2017环境下,方法的引用与调用
方法的调用比较好理解,就是给方法传递实参,执行方法代码。 方法引用涉及委托,委托签名与其引用的方法必须一致。以下demo说明方法调用与引用在写程序时的区别: using System; using System.Collections.Generic; using System.L…...
etcd、kube-apiserver、kube-controller-manager和kube-scheduler有什么区别
在我们部署K8S集群的时候 初始化master节点之后(在master上面执行这条初始化命令) kubeadm init --apiserver-advertise-address10.0.1.176 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.16.0 --service…...
每日一题 LCR 057. 存在重复元素 III
LCR 057. 存在重复元素 III 滑动窗口二分查找 有序集合 有lower_bound(num) ,可以找到第一个大于其的数字 class Solution { public:bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) {set<long> win;for(int i0;i<nums.size();i){a…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
