网站首页 > 博客文章 正文
1 简介
GoCV 为使用 Go 编程语言访问OpenCV 4 计算机视觉库.
GoCV 包在 Linux、macOS 和 Windows 上支持最新版本的 Go 和 OpenCV v4.5.4。我们的使命是让 Go 语言成为兼容 OpenCV 生态系统最新发展的"一流"客户端。
GoCV 支持CUDA使用 NVIDIA GPU 进行硬件加速。
GoCV 还支持英特尔 OpenVINO工具包。
官网:
https://gocv.io/
github地址:
https://github.com/hybridgroup/gocv
2 应用场景:
调用摄像头组件
人脸检测
深度神经网络检测
DNN 姿势检测
手势
面部模糊
运动检测
姿势
截图
3 环境安装
3.1 Linux(CentOS 7.x)安装
goco库自带安装opencv脚本(Makefile)
安装或升级cmake(opencv 对 cmake 版本要求比较高(>= CMake 3.5.1))
> # yum remove cmake
> # wget https://cmake.org/files/v3.23/cmake-3.23.0.tar.gz
> # tar -zxvf cmake-3.23.0.tar.gz
> # cd cmake-3.23.0
> # ./bootstrap --prefix=/usr/local/
> # make -j 4 && make install
下载源码包
> # go get -u -d gocv.io/x/gocv
如果出现无法下载, 则修改代理地址
export GOPROXY=https://goproxy.cn,direct
切换到 gocv 包的目录
> # cd /root/go/pkg/mod/gocv.io/x/gocv@v0.30.0
修改 Makefile 文件
> # vim Makefile
RPMS=curl wget git gtk2-devel libpng-devel libjpeg-devel libtiff-devel tbb tbb-devel libdc1394-devel unzip gcc-c++
第20行 去除 cmake
因为CentOS 7.x yum 安装的 cmake 版本很低, 而 opencv 对 cmake 版本要求比较高(>= CMake 3.5.1), 因此会出现低配版本覆盖高配版本
安装依赖包
> # make deps
下载源码包
> # make download
编译
> # make build
安装
> # make sudo_install
验证
> # go run ./cmd/version/main.go
验证版本
> # opencv_version
4.5.5
注意: 受网络环境的影响, 安装成功的概率比较低, 推荐使用源码包的安装方式
3.2 macOS 安装方法
> # go get -u -d gocv.io/x/gocv
安装 opencv
> # brew install opencv
安装 pkgconfig
> # brew install pkgconfig
验证版本:
> # cd /root/go/pkg/mod/gocv.io/x/gocv@v0.30.0
> # go run ./cmd/version/main.go
4 编写源代码
package main
import (
"fmt"
"gocv.io/x/gocv"
)
func main() {
webcam, err := gocv.VideoCaptureDevice(0)
if err != nil {
fmt.Print(">>> 打开摄像头失败!\n")
return
}
window := gocv.NewWindow("Hello")
img := gocv.NewMat()
for {
if ok := webcam.Read(&img); !ok {
fmt.Printf("没有读取到图像!")
return
}
if img.Empty() {
fmt.Printf("空图像!")
return
}
window.IMShow(img)
key := window.WaitKey(1)
if key == 27 {
return
}
}
}
运行
> # go run main.go
操作系统: CentOS7.6
软件版本: go v1.16.15 + opencv v4.5.5 + cmake v3.23.0
发布日期: 20220408
测试日期: 20220408
更新日期: 20220408
猜你喜欢
- 2024-10-03 Qt4/5升级到Qt6吐血经验总结V202308
- 2024-10-03 微软兑现承诺:更新Linux子系统,编译WSL 2内核只需3步
- 2024-10-03 centos7使用源码从python2升级到python3,干货值得收藏
- 2024-10-03 Clion2021大版本更新亮点一览(clion2020.1)
- 2024-10-03 CPack 入门指南(cpaks)
- 2024-10-03 C/C++ 开发工具 CLion 新版发布,10 大新功能抢先看
- 2024-10-03 centos7升级glibc(centos7升级gcc)
- 2024-10-03 ReactOS年度报告:改进shell,增强应用管理
- 2024-10-03 CMake构建Makefile深度解析:从底层原理到复杂项目
- 2024-10-03 CBrother升级至V2.5.5,支持编译和打包
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)