gocv-go语言调用opencv入门

gocv-go语言调用opencv入门,第1张

1、概述

 GoCV是Go语言版的opencv二次封装,基于动态库opencv4。

官方地址:https://gocv.io/

win10环境,安装gocv有点棘手,需要先安装opencv,安装opencv是一个很痛苦的经历,所以在此搞了一个绿色版本环境,可以直接使用。

2、环境配置

64bit win10

3、安装包介绍

链接:https://pan.baidu.com/s/1Uzq1hSj0ndz0lCY063OLJA 
提取码:1bbo

opencv-4.3.0.7z

为在win10环境下编译的动态库。

x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z

为64位环境下的gcc编译器。

gocv-df73d544675c731b2197d46622224839e1af07a6.zip

为gocv的源码。

4、安装包安装

%GOPATH%,目前作者的路径为E:\GoWorks

1、把gocv-df73d544675c731b2197d46622224839e1af07a6.zip解压到路径为%GOPATH%\src\gocv.io\x\gocv,如下图所示:

2、把opencv-4.3.0.7z解压到C盘。如下图所示:

3、把mingw64-x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z解压到C盘。如下图所示:

4、配置C:\mingw64\bin到环境变量path。如下图所示:

5、配置C:\opencv\build\install\x64\mingw\bin到环境变量path。如下图所示:

至此,已经安装完毕。

5、验证环境

1、运行cmd进入dos。

2、输入chdir %GOPATH%\src\gocv.io\x\gocv,确认回车。

3、输入go run cmd\version\main.go,确认回车,返回以下信息表示成功。

gocv version: 0.23.0

opencv lib version: 4.3.0

至此,gocv的环境已经完成了。

6、测试代码

1、显示图片。

package main
import (
	"fmt"
	"gocv.io/x/gocv"
)
func main(){
	fmt.Printf("gocv version: %s\n", gocv.Version())
	fmt.Printf("opencv lib version: %s\n", gocv.OpenCVVersion())
	
	window := gocv.NewWindow("Hello")
	
	img := gocv.IMRead("lena.jpg",gocv.IMReadColor)
	
	if img.Empty() {
		fmt.Printf("Error reading image from: %v\n", "lena.jpg")
		return
	}
	
	for {
		window.IMShow(img)
		if window.WaitKey(1) >= 0 {
			break
		}
	}
}

2、显示视频。

package main
import (
	"fmt"
	"gocv.io/x/gocv"
)
func main(){

	fmt.Printf("gocv version: %s\n", gocv.Version())
	fmt.Printf("opencv lib version: %s\n", gocv.OpenCVVersion())

	webcam, err := gocv.VideoCaptureDevice(0)
	if err != nil{
		fmt.Printf("Error opening video capture device: %v\n", 0)
		return
	}
	defer webcam.Close()

	window := gocv.NewWindow("Capture Window")
	defer window.Close()

	img := gocv.NewMat()
	defer img.Close()

	for {
		if ok := webcam.Read(&img); !ok {
			fmt.Printf("Device closed: %v\n", 0)
			return
		}
		if img.Empty() {
			continue
		}
		window.IMShow(img)
		if window.WaitKey(1) == 27 {
			break
		}
	}
}

更多的例子,请查看%GOPATH%\src\gocv.io\x\gocv\cmd,里面有很多例子学习。

7、Gocv的API接口介绍

官方文档:https://godoc.org/gocv.io/x/gocv

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/990087.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存