(全)Docker安装+人脸比对算法服务(win10)
最近在设计功能的过程中,涉及到了人脸比对等算法;于是上网查询了人脸算法的相关文章和第三方技术厂商,发现需要花钱买服务(这很正常毕竟研发需要耗费很大的成本),可惜我只用于学习,不太想花钱;后面和小伙伴一起get到了一个开源(apache 2.0开源协议)人脸算法服务,很nice; 现分享如下:
以下均在win10专业版下操作 !!!
以下均在win10专业版下操作 !!!
以下均在win10专业版下操作 !!!
第一步:你需要安装配置Docker操作如下;
控制面板 --- 程序 --- 启用或关闭Windows功能 --- 选择Hyper-v并确定和重启电脑。(原因:docker面向linux系统,所以需要Hyper-V 提供硬件虚拟化;详细了解请自行百度)
进入这个网址
https://www.docker.com/products/docker-desktop
下载这个安装包(这个过程可能会失败几次,多下载几次)
安装好是这样的(当然不可能这么顺利,期间会报错的;常见报错见:附件1)
附件1:
问题1:
解决方法:点击链接下载、安装;重启docker应用;
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
问题2:设置中的配置可能需要改一下,如下
{"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
}
------------第一步 结束----------------------------------------------------------------------------------------------------
第二步:人脸算法服务;
进入这个链接:
https://gitee.com/mirrors/compreface
接下来,按照指引操作即可
点击API说明,进去,就是具体的接口了;使用postman+下面我发的前端页面,配合测试。
<!DOCTYPE html>
<html>
<head><script type="text/javascript">function video() {let video = document.getElementById("live");let canvas = document.getElementById("canvas");let canvas2 = document.getElementById("canvas2");let ctx = canvas.getContext('2d');let ctx2 = canvas2.getContext('2d');let apiKey = document.getElementById("apiKey").value;navigator.mediaDevices.getUserMedia({video: {width: 640, height: 480}}).then(function (stream) {video.srcObject = stream;document.addEventListener("next_frame", draw);const evt = new Event("next_frame", {"bubbles": true, "cancelable": false});document.dispatchEvent(evt);});function draw() {ctx.drawImage(video, 0, 0, 640, 480);canvas.toBlob(function (blob) {blob.name = "blob.jpeg"let fd = new FormData();fd.append('file', blob, "blob.jpeg");fetch('http://localhost:8000/api/v1/recognition/recognize',{method: "POST",headers: {"x-api-key": apiKey},body: fd}).then(r => r.json()).then(function (data) {const evt = new Event("next_frame", {"bubbles": true, "cancelable": false});document.dispatchEvent(evt);ctx2.clearRect(0, 0, 640, 480);ctx2.drawImage(video, 0, 0, 640, 480);if (!data.result) {return;}let box = data.result[0].box;let name = data.result[0].subjects[0].subject;ctx2.lineWidth = 3;ctx2.strokeStyle = 'green';ctx2.strokeRect(box.x_min, box.y_min, box.x_max - box.x_min, box.y_max - box.y_min);ctx2.font = '24px serif';ctx2.strokeText(name, box.x_min, box.y_min - 20);});}, 'image/jpeg', 0.95);}}</script><title>test</title>
</head>
<body>
<label for="apiKey">API key:</label><input id="apiKey" />
<button onclick="video()">video</button>
<video id="live" width="640" height="480" autoplay style="display:none;"></video>
<canvas width="640" id="canvas" height="480" style="display:none;"></canvas>
<canvas width="640" id="canvas2" height="480"></canvas>
</body>
</html>
------------第二步 结束----------------------------------------------------------------------------------------------------
我的思路是:单独部署这个人脸算法服务(单独服务器部署,不要和重要应用放在同一个服务器),然后应用调取使用;
欢迎批评指正...
(全)Docker安装+人脸比对算法服务(win10)相关推荐
- 史上最全docker安装方法!
2017年2月8日,docker更新到1.13.1(更新日志),此后又分为了docker CE(社区版)和docker EE(商业版). 此处只分享docker CE安装方法,商业版多了容器资源监控和 ...
- docker安装部署dragonfly2镜像加速服务
Dragonfly安装部署文档 Dragonfly 作为龙蜥社区的镜像加速标准解决方案,是一款基于 P2P 的智能镜像和文件分发工具.它旨在提高大规模文件传输的效率和速率,最大限度地利用网络带宽. ...
- Win10中docker安装nuget服务器及使用
目录 简介 具体实现 创建容器 上传包 如何使用 总结 推荐阅读 简介 如果你了解python,那么它类似pip.如果你了解nodejs,那么它类似npm.对于.net平台,nuget就是python ...
- Docker 安装 命令 数据卷 应用部署 网络优化 Dockerfile 服务编排Compose 私有仓库
Docker 1. 初识docker 1.1 Docker是什么 了解Docker的前生LXC LXC与docker的关系 Docker 的特点 1.2 为什么使用Docker Docker的优势 缺 ...
- docker安装+配置镜像+命令操作+数据卷+网络管理+DockerFile+镜像服务+项目部署+[高级使用]
文章目录 Docker基础 一.Docker介绍 1. 什么是虚拟化 2. 什么是Docker 3. 容器与虚拟机比较 4. Docker优势 5. Docker架构 [1]镜像服务(`Image`) ...
- Docker安装Apache与运行简单的web服务——httpd helloworld
Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...
- consul命令行查看服务_Go语言微服务架构实战:第十三节 微服务管理--Docker安装及运行consul节点...
微服务管理--Docker安装及运行consul节点 搭建集群 在真实的生产环境中,需要真实的部署consul集群.在一台机器上想要模拟多台集群部署的效果,有两种方案:一种是借助虚拟机,另一种是借助容 ...
- docker 使用tar安装mysql_使用docker安装mysql服务
转载:https://www.cnblogs.com/notejava/p/7124189.html 使用docker官方镜像安装mysql服务 1 拉取mysql镜像,采用网易加速地址 docker ...
- Docker 安装和使用日常命令全覆盖
Docker安装和使用 一. Centos7安装docker 1.1 Docker 要求 CentOS 系统的内核版本高于 3.10 uname –r 1.2 使用 root 权限登录 Centos一 ...
最新文章
- 取出json中的数据php,怎么从Json中取出数据放到一个新组中
- Spring+ActiveMQ配置
- 如何使用一个单片机的IO口控制两个LED?
- netstat -ano 查看机器端口占用情况
- 虚拟机上安装 Red Hat Enterprise Linux 7 64位
- python的生成器
- 计算机组成原理白朔飞,计算机组成原理(第四章复习).ppt
- [转载]Java数组扩容算法及Java对它的应用
- 更改Mysql5.7的默认编码为utf8解决database为latin1无法修改问题
- html 插入本地视频,win7系统中Word文档插入本地视频的方法【图文】
- 删除曾经使用过的USB设备记录
- 一篇讲完Java链表(单链表、循环链表和双向链表)
- winform打包应用程序-setup安装包
- win10java编辑器_5个最好的Windows 10的字幕编辑软件
- 茅侃侃自述离职Majoy经过:让我们从“失败”开始
- 火遍全网的「蚂蚁呀嘿」教程开源了!
- 电子邮件营销与MailChimp。它是适合你
- iOS开发工具-网络封包分析工具Charles
- 【复现】deblurGAN: 用GAN使模糊图片变清晰(ECCV2018)
- matlab 如何使用mex