一、MinGW & CMake
- 预备步骤
首先打开cmd:
c:
md mingw-w64
md cmake
-
下载安装MinGW-W64
访问:
https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/7.3.0/
下载: MinGW-W64 GCC-8.1.0 的 x86_64-posix-seh 版本
这是一个.7z文件,将它解压缩到 c:\mingw-w64 里面 -
下载安装 CMake
访问:https://cmake.org/download/
下载:Windows x64 ZIP
解压到:c:\cmake -
Windows的PATH变量添加两个路径:
C:\mingw-w64\x86_64-8.1.0-release-posix-seh-rt_v6-rev0_2\mingw64\bin
和
C:\cmake\bin
输入exit
退出当前cmd,再次打开cmd
,输入:
gcc --help
cmake --help
如果正常显示帮助文档,说明安装完毕。
二、GOCV
- 打开 cmd,输入:
go get -u -d gocv.io/x/gocv
- 输入
echo %GOPATH%
找到GOPATH路径,比如我的是:
C:\Users\rockage\go\pkg\mod\gocv.io\x\gocv@v0.33.0
- cd /D C:\Users\rockage\go\pkg\mod\gocv.io\x\gocv@v0.33.0
- 打开 win_build_opencv.cmd 文件,编辑如下:
-
找到
set PATH=%PATH%;C:\Program Files (x86)\CMake\bin;C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
(在前面加一个REM注释掉这行因为我们已经为MinGW和CMake做了Path管道了,这行可以注释掉或直接删除) -
找到:
-DWITH_MSMF=OFF
在后面添加:-DWITH_OBSENSOR=OFF
(注意前后要用空格分开,这是关键修改) -
找到:
rmdir c:\opencv\opencv-4.7.0 /s /q
rmdir c:\opencv\opencv_contrib-4.7.0 /s /q
(在前面加上REM注释之,这个改动不是必须的,在安装成功后也可以手动将这两个目录删除) -
最后一行:
chdir /D C:\Users\rockage\go\pkg\mod\gocv.io\x\gocv@v0.33.0
改为你的实际GOROOT路径即可,比如我的是:
chdir /D C:\Users\rockage\go\pkg\mod\gocv.io\x\gocv@v0.33.0
(这个也非关键修改,非强迫症患者不改也行)
-
修改完毕后,输入:
win_build_opencv.cmd
运行这个脚本。
(有可能这个文件是只读的,存盘的时候随便换一个别的名字就行了,对结果不影响) -
安装完毕后,exit 退出cmd,为PATH变量增加一个路径:
C:\opencv\build\bin
三、测试
-
重新打开cmd,输入:
cd /D C:\Users\rockage\go\pkg\mod\gocv.io\x\gocv@v0.33.0
(切换到GOPATH下的gocv项目目录) -
go run cmd\version\main.go
(运行测试程序)
如果不报错,且正常显示版本号,说明安装成功!
gocv version: 0.33.0
opencv lib version: 4.7.0
四、后记
本文参考了GOCV的官方安装文档并填了一些小坑,感兴趣的小伙伴可以直接阅读官方文档:
- https://gocv.io/getting-started/windows/