栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

gocv-go语言调用opencv入门

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

gocv-go语言调用opencv入门

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%srcgocv.ioxgocv,如下图所示:

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

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

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

5、配置C:opencvbuildinstallx64mingwbin到环境变量path。如下图所示:

至此,已经安装完毕。

5、验证环境

1、运行cmd进入dos。

2、输入chdir %GOPATH%srcgocv.ioxgocv,确认回车。

3、输入go run cmdversionmain.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: %sn", gocv.Version())
	fmt.Printf("opencv lib version: %sn", gocv.OpenCVVersion())
	
	window := gocv.NewWindow("Hello")
	
	img := gocv.IMRead("lena.jpg",gocv.IMReadColor)
	
	if img.Empty() {
		fmt.Printf("Error reading image from: %vn", "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: %sn", gocv.Version())
	fmt.Printf("opencv lib version: %sn", gocv.OpenCVVersion())

	webcam, err := gocv.VideoCaptureDevice(0)
	if err != nil{
		fmt.Printf("Error opening video capture device: %vn", 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: %vn", 0)
			return
		}
		if img.Empty() {
			continue
		}
		window.IMShow(img)
		if window.WaitKey(1) == 27 {
			break
		}
	}
}

更多的例子,请查看%GOPATH%srcgocv.ioxgocvcmd,里面有很多例子学习。

7、Gocv的API接口介绍

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/903291.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号