[保姆教程] Windows平台OpenCV以及它的Golang实现gocv安装与测试(亲测通过)

在这里插入图片描述

一、MinGW & CMake

  1. 预备步骤
    首先打开cmd:
c:
md mingw-w64
md cmake
  1. 下载安装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 里面

  2. 下载安装 CMake
    访问:https://cmake.org/download/
    下载:Windows x64 ZIP
    解压到:c:\cmake

  3. 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

  1. 打开 cmd,输入:go get -u -d gocv.io/x/gocv
  2. 输入 echo %GOPATH% 找到GOPATH路径,比如我的是:

C:\Users\rockage\go\pkg\mod\gocv.io\x\[email protected]

  1. cd /D C:\Users\rockage\go\pkg\mod\gocv.io\x\[email protected]
  2. 打开 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\[email protected]
    改为你的实际GOROOT路径即可,比如我的是:
    chdir /D C:\Users\rockage\go\pkg\mod\gocv.io\x\[email protected]
    (这个也非关键修改,非强迫症患者不改也行)

  1. 修改完毕后,输入: win_build_opencv.cmd 运行这个脚本。
    (有可能这个文件是只读的,存盘的时候随便换一个别的名字就行了,对结果不影响)

  2. 安装完毕后,exit 退出cmd,为PATH变量增加一个路径:
    C:\opencv\build\bin


三、测试

  1. 重新打开cmd,输入:
    cd /D C:\Users\rockage\go\pkg\mod\gocv.io\x\[email protected]
    (切换到GOPATH下的gocv项目目录)

  2. go run cmd\version\main.go
    (运行测试程序)

如果不报错,且正常显示版本号,说明安装成功!

gocv version: 0.33.0
opencv lib version: 4.7.0

四、后记

本文参考了GOCV的官方安装文档并填了一些小坑,感兴趣的小伙伴可以直接阅读官方文档:

  1. https://gocv.io/getting-started/windows/

猜你喜欢

转载自blog.csdn.net/rockage/article/details/131274753