淘先锋技术网

首页 1 2 3 4 5 6 7

opencv居然还没有官方的golang版,出乎意料。为了编译安装这玩意,折腾了一下午,记录下:

资源提前下载

1、 MinGW-w64
这里的坑是对于只懂一点点的人,容易选错版本:
在这里插入图片描述
没仔细看的人很可能会选win32的(我就是),因为下意识认为Windows下选择这个版本!!

2、cmake选择系统对应版本就好

3、opencv源码官网给的脚本里地址是github上的,我这里是在gitcode上找的同步更新的源代码。这里需要提前下好,不然用脚本的话,一下午都下不好。

4、opencv_contrib同上,找的镜像,在国内下载会快很多

此外,编译过程中还会需要下载一些东西,那些不好找,而且很可能下载失败,建议修改host:“C:\Windows\System32\drivers\etc\hosts” ,在末尾加上一行:

151.101.8.133 raw.githubusercontent.com

该操作杀毒软件会拦截,等编译完再删掉它。当然,加了也不一定就能顺利下载,反正我倒是下载下来了,也不知道是运气好,还是这玩意生效了。

安装 gocv

这里还需要提前安装gocv,因为以来它的脚本来编译。

go get -u -d gocv.io/x/gocv

下载完的保存路径是:

%GOPATH%\pkg\mod\gocv.io\x\[email protected]
%GOPATH% 可用以下指令查看:
go env

到该目录下, 可以看到一个脚本“win_build_opencv.cmd”
这个脚本不能直接用,这里就是官方文档没有讲到的坑了

添加环境变量

在这里插入图片描述
对,看图就知道:
1、在C盘下新建目录“C:\opencv”
2、将第一步下载的opencv源码和opencv_contrib解压到该目录下
3、mingw64解压到该目录下(也可到其他目录,只需添加对应的环境变量即可),并且给C:\opencv\mingw64\bin添加到环境变量中
4、cmake一直下一步安装。正常安装的话,是会自动添加环境变量的,不需要手动添加。

然后对应的目录如下图所示
在这里插入图片描述

修改脚本

此时进入目录C:\Users\PC\go\pkg\mod\gocv.io\x\[email protected],打开文件“win_build_opencv.cmd”,改脚本不能直接运行,需要修改内容成如下:

set PATH=%PATH%

set enable_shared=ON

cmake C:\opencv\opencv-4.7.0 -G "MinGW Makefiles" -BC:\opencv\build -DENABLE_CXX11=ON -DOPENCV_EXTRA_MODULES_PATH=C:\opencv\opencv_contrib-4.7.0\modules -DBUILD_SHARED_LIBS=%enable_shared% -DWITH_IPP=OFF -DWITH_MSMF=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=ON -DBUILD_opencv_java=OFF -DBUILD_opencv_python=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF -DBUILD_DOCS=OFF -DENABLE_PRECOMPILED_HEADERS=OFF -DBUILD_opencv_saliency=OFF -DBUILD_opencv_wechat_qrcode=ON -DCPU_DISPATCH= -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_OPENCL_D3D11_NV=OFF -DOPENCV_ALLOCATOR_STATS_COUNTER_TYPE=int64_t -Wno-dev
mingw32-make -j%NUMBER_OF_PROCESSORS%
mingw32-make install
chdir /D %GOPATH%\pkg\mod\gocv.io\x\[email protected]

对,删去了绝大部分,因为这个脚本不过是调用cmake去编译而已,它本身不是编译脚本。

开始编译

打开CMD,执行命令:

CD C:\Users\PC\go\pkg\mod\gocv.io\x\[email protected]
win_build_opencv.cmd

然后就是漫长的等待,大概需要一个小时,注意电脑别待机。
如果构建过程中报错,会有提示,否则应该是没啥“ERR”字眼的。

然后还有一部重要的,将“C:\opencv\build\install\x64\mingw\bin”添加到环境变量,然后需要重启CMD。

验证

cd C:\Users\PC\go\pkg\mod\gocv.io\x\[email protected]\cmd\version
go run main.go

在这里插入图片描述

官网地址:https://github.com/hybridgroup/gocv