gocv Windows10下编译和安装(opencv4.8)

opencv居然还没有官方的golang版,出乎意料。为了编译安装这玩意,折腾了一下午,记录:
重点:OpenCV、opencv_contrib和gocv的版本有严格的版本对应要求!

我编译好的结果也分享出来,可以试试能否直接用,平台win10 64位,放在百度云盘:

链接:https://pan.baidu.com/s/1kEnwkCKVMtsuyCzIMbMFcg?pwd=9106 提取码:9106

首先,先按官方文档指导编译,网络好的话可以直接编译成功!不成再接着往下看

资源提前下载

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

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

环境要求

除了上面几个编译的工具和源码,编译时还以来:

golang ,能正确执行 go env指令,证明配置好了环境变量
Python3 ,其中需要安装好numpy

安装 gocv

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

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

下载完的保存路径是:

%GOPATH%\pkg\mod\gocv.io\x\gocv@v0.35.0
%GOPATH% 可用以下指令查看:
go env

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

添加环境变量

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

然后对应的目录如下图所示
图还是4.80的图,不过文章是编译4.81时写的

修改脚本

此时进入目录C:\Users\PC\go\pkg\mod\gocv.io\x\gocv@v0.35.0,打开文件“win_build_opencv.cmd”,改脚本不能直接运行,需要修改内容成如下(下面前几行的那些环境变量根据实际情况修改):

set sourcePath=C:\opencv
set cvVersion=4.8.1
set gocvVersion=0.35.0
if not exist "%sourcePath%" mkdir "%sourcePath%"
if not exist "%sourcePath%\build" mkdir "%sourcePath%\build"
cd /D %sourcePath%\build
set PATH=%PATH%


set enable_shared=OFF

cmake %sourcePath%\opencv-%cvVersion% -G "MinGW Makefiles" -B%sourcePath%\build -DENABLE_CXX11=ON -DOPENCV_EXTRA_MODULES_PATH=%sourcePath%\opencv_contrib-%cvVersion%\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\gocv@v%gocvVersion%

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

开始编译

打开CMD,执行命令:

CD C:\Users\Administrator\go\pkg\mod\gocv.io\x\gocv@v0.35.0
win_build_opencv.cmd

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

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

验证

cd C:\Users\Administrator\go\pkg\mod\gocv.io\x\gocv@v0.35.0\cmd\version
go run main.go

在这里插入图片描述
官网地址:https://github.com/hybridgroup/gocv

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
1. 下载安装OpenCV 首先需要下载安装OpenCV,可以直接从官网下载最新版本的OpenCV。 下载地址:https://opencv.org/releases/ 选择合适的版本,下载后进行安装。 2. 安装gocv 安装gocv需要先安装Go语言环境,可以到官网下载最新版本的Go语言。 下载地址:https://golang.org/dl/ 安装完成后,打开命令行,输入以下命令安装gocv: ``` go get -u -d gocv.io/x/gocv cd $GOPATH/src/gocv.io/x/gocv make install ``` 3. 配置环境变量 安装完成后,需要配置环境变量,将OpenCV的路径和gocv库的路径添加到环境变量中。 打开“我的电脑”-“属性”-“高级系统设置”-“环境变量”,在“系统变量”中找到“Path”变量,在其中添加OpenCVgocv库的路径。 例如,如果OpenCV安装在“C:\opencv”目录下,gocv安装在“C:\Users\user\go\src\gocv.io\x\gocv”目录下,则需要将以下两个路径添加到环境变量中: ``` C:\opencv\build\x64\vc15\bin C:\Users\user\go\src\gocv.io\x\gocv\bin ``` 4. 测试gocv 安装完成后,可以通过编写一个简单的测试程序来测试gocv是否安装成功。 在Go语言的代码编辑器中,创建一个新的Go文件,将以下代码复制进去: ``` package main import ( "fmt" "gocv.io/x/gocv" ) func main() { fmt.Println("Starting camera...") webcam, _ := gocv.VideoCaptureDevice(0) window := gocv.NewWindow("Hello") img := gocv.NewMat() defer webcam.Close() defer window.Close() for { webcam.Read(&img) if img.Empty() { continue } window.IMShow(img) if window.WaitKey(1) >= 0 { break } } } ``` 保存后,使用命令行进入文件所在文件夹,输入以下命令运行程序: ``` go run 文件名.go ``` 如果程序能够正常运行,并且能够打开摄像头并显示图像,则说明gocv安装成功。 至此,gocv库的windows安装教程结束。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lsjweiyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值