IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> GO 调用 python3 (基于ubuntu) 实现人脸识别 -> 正文阅读

[系统运维]GO 调用 python3 (基于ubuntu) 实现人脸识别

本次用go 调用python3 足足花了两天的时间

1、go协程中多次调用python函数

(80条消息) Golang协程中调用Python3_可问春风丶的博客-CSDN博客_golang调用python3

2、安装参考的链接

(48条消息) go调用python3:go-python3包的使用_文杰@的博客-CSDN博客_go调用python

3、如何在wsl的中安装ubuntu

Windows Subsystem for Linux(简称WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

操作系统:ubuntu20.04.5 (WSL)

重复的部分我不赘述了。

====================初始化相关工作

ubuntu20.04.5 需要 更新源,升级,并且安装桌面,安装桌面的目的是我在ubuntu下编译文档

sudo apt update
sudo apt-get upgrade
sudo apt install ubuntu-desktop

下载Xming-6-9-0-31-setup.exe,启动Xming

环境变量默认DISPLAY是0.0

vim ~/.bashrc

export DISPLAY=:0.0
source ~/.bashrc

====================下载编译器

GoLand-2022.2.2(linux):goland的编译器

Anaconda3-2020.11-Linux-x86_64(conda很好用不然我ptyhon整了半天很麻烦):安装python3.7,非常的重点只能安装3.7

====================安装过程

conda create -n fs_py37 python=3.7
conda activate fs_py37 :默认3.7为运行环境

export PKG_CONFIG_PATH=/Users/xwj/opt/anaconda3/envs/fs_py37/lib/pkgconfig
go get github.com/DataDog/go-python3 (使用go get的前提是安装了go1.16.xx

sudo apt-get install pkg-config

sudo apt-get install cmake gcc g++? ?:这个是为了python 安装dlib的库

======================我的项目结构

python的代码==========

import cv2
import face_recognition
def test(xx):
? ? print("ok? ?============================")
? ? return "hilllllllllllllllll"

def SayHello(xixi):
? ? #? 导入待检测照片
? ? face_image1 = face_recognition.load_image_file(r"/home/kiki/testdata/images/3.jpg")
? ? #? 进行人脸识别
? ? face_encoding1 = face_recognition.face_encodings(face_image1)
? ? #? 得到识别数据
? ? face1 = face_encoding1[0]
? ? #face2 = face_encoding2[0]
? ? #? 人脸数据比对
? ? result = face_recognition.compare_faces([face1],face1,tolerance=0.4)
? ? #? 如果结果是同一人显示PASS,否则显示NO
? ? if result == [True]:
? ? ? ? name = "PASS"
? ? else:
? ? ? ? name = "NO"
? ? #? 脸部区域绘图
? ? '''
? ? for (x1,y1,w1,h1)in face_encoding1:
? ? ? ? img1 = cv2.rectangle(face_image1,(y1,w1),(h1,x1),(255,0,0),2)? # 脸部框图绘制
? ? ? ? cv2.putText(face_image1,name,(y1-10,w1-10),cv2.FONT_HERSHEY_COMPLEX,0.8,(0,255,0),2)
? ? frame1 = cv2.cvtColor(face_image1,cv2.COLOR_BGR2RGB)
? ? '''
? ? #? 脸部区域绘图
? ? print(name)
? ? #? 结果显示
? ? #cv2.imshow("1",frame1)
? ? cv2.waitKey(0)

if __name__ == '__main__':
? ?SayHello("ddd")

安装python是非常麻烦的,尤其是这个库
sudo apt-get install cmake gcc g++ ?

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple face_recognition
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple dlib
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple cmake

go的代码:引用的文档有完整的案例

整个过程痛点,就是安装以及部署以及调试。

为啥要用go + python

主要是速度,开发的稳定性及实现效果的速度,go是稳定担当,python是算法模型的担当。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 21:30:38  更:2022-09-24 21:33:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 18:43:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计