网站首页 > 开源技术 正文
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
猜你喜欢
- 2025-01-13 开发人员必备!6大不可缺少的工具
- 2025-01-13 "不会Linux,干啥都费劲!”资深程序员:别再瞎努力了
- 2025-01-13 245页Go语言编程文档,从入门到进阶(PDF可下载)
- 2025-01-13 安装 Go 和VSCode并配置环境详细记录
- 2025-01-13 从零开始配置 vim(18)——终端模式
- 2025-01-13 从Java转向Go--AeroFS的一段奇妙之旅
- 2025-01-13 Go基于WebSocket的通讯聊天程序
- 2025-01-13 Web黑客近年神作Gospider:一款基于Go语言开发的Web爬虫,要收藏
- 2025-01-13 VsCode+Vim插件=神级编辑器?二者结合,简单说说体验感受
- 2025-01-13 更换坚果微果i6 VimGO J30-2C0迷你投影仪电池教程
你 发表评论:
欢迎- 05-15.net core集成vue
- 05-15Vue开发环境搭建
- 05-15创建Electron工程
- 05-15个人博客搭建保姆级教程3——hexo
- 05-15(实用派)Express之创建并配置运行vue项目
- 05-15package.json 与 package-lock.json 的关系
- 05-15deepin-linux的vue学习(二)git克隆开源vue项目和本地运行
- 05-15手把手教你搭建免费个人博客网站
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)