0 前言

关于go语言:

Go 编程语言是一个开源项目,旨在提高程序员的工作效率。
Go 具有表现力、简洁、干净和高效。 它的并发机制使编写充分利用多核和联网机器的程序变得容易,而其新颖的类型系统支持灵活和模块化的程序构建。 Go 可以快速编译为机器码,但具有垃圾收集的便利性和运行时反射的强大功能。 它是一种快速、静态类型的编译语言,感觉就像是一种动态类型的解释语言。

关于gocv:

gocv 是 OpenCV 4.x 计算机视觉库的包装器。 它为最新版本的 OpenCV 提供了 Go 语言接口。

关于opencv:

OpenCV(开源计算机视觉库:Home - OpenCV)是一个包含数百种计算机视觉算法的开源库。

本文记录了根据gocv官网在win10下安装gocv的过程。gocv官网:

但是,直接按照官网教程,安装是会报错的,需要处理好网址和路径问题才行。

1 安装

1.1 安装go

如果已经装好了go,可以直接跳过1.1

  • 下载安装文件(msi):
  • 安装 go

双击msi文件,按照提示一步一步操作即可。

  • 测试go

新建CMD,输入:

如果成功安装,会出现以下页面

1.2 安装gocv(重要:添加国内代理)

如果严格按照官网的方法去安装GOCV会失败,因为网址被墙了,需要需用国内的代理。方法也简单,在CMD上运行以下命令:

在CMD窗口上输入命令:

执行完这条命令后,%GOPATH%\pkg\mod下会出现一个文件夹"http://gocv.io"。

至此,gocv已经安装完了(本质是下载),但是还不能用,还需要装其他依赖,接着往下看。

1.3 安装MinGW-W64(谨记,要手动添加环境变量)

gocv官网这么说:

意思是:把MinGW-W64下载下来,需要添加环境变量,注意选择版本。

点击下载链接:

一定要下载好正确的版本,官网明确说了:

Choose the options for “posix” threads, and for “seh” exceptions handling

下载得到文件""

解压,路径随便,不一定要放到C盘,重要的是要把“...\mingw64\bin”添加到环境变量Path上。例如

环境变量Path要添加的内容就是:

D:\mingw64\bin

至此,MinGW-W64已经安装完毕(本质也是下载,重要的是添加正确的路径到环境变量Path)。

1.4 安装Cmake(自动添加环境变量,不需手动添加)

gocv官网就1句话:

Download and install CMakehttps://cmake.org/download/to the default location. CMake installer will add CMake to your system path.

下载到文件,执行即可完成Cmake的安装。

1.5 安装opencv(谨记,要手动添加环境变量,不要忘了!)

gocv官网的方法是两句话:

不要直接执行!这里修正一下,因为gocv的路径有可能不是%GOPATH%\src\http://gocv.io\x\gocv,我的gocv安装路径是%GOPATH%\pkg\mod\http://gocv.io\x\gocv@v0.29.0

所以切换路径的命令时,执行

接下来时编译opencv了,不要直接运行win_build_opencv.cmd文件,需要修正一下里面的内容。

准备:

1.5.1 事先下载好两个文件:opencv-4.5.4.zip和opencv_contrib-4.5.4.zip

下载地址在文件win_build_opencv.cmd的两行中可以找到

下载地址分别是:

建议使用迅雷下载,下载好文件后,放到路径“ c:\opencv”下。并注释以上两行,前面加REM

1.5.2 修改路径

找到win_build_opencv.cmd文件关于MinGW-W64和CMake的环境路径的那一行,替换成你实际对应的环境路径。

下载好文件和修改好路径后,可以在CMD上执行win_build_opencv.cmd文件了。

慢慢等待编译,10分钟左右,会编译成功。

还有一件重要的事情就是,opencv的路径也要添加到环境变量中,必须添加的。

至此,opencv安装完毕,环境变量也添加好了。gocv安装结束。

2 测试

执行后,可以看到gocv和opencv的版本。

3 最后

为了在windows上安装go版的opencv,真的付出很多,一开始根据官网安装,失败了。后世尝试过很多方法,安装过免安装版的(下载好别人的文件夹,放到指定位置即可,可以使用。),重装过CentOS系统,也重装过Ubuntu系统,尝试装gocv,都失败了,经过失败经验的积累,知道golang下载工具包时需要添加国内代理,慢慢地,又根据官网教程,经过必要的修正后,终于安装成功了,非常感动,记录下此刻。

感谢google,微软,知乎。感谢家里猫咪的陪伴!