go build 参数_Go安装OpenCV库(gocv)

gocv是OpenCV4在Go中的绑定,使用它可以在Go里做图像处理。

Github:https://github.com/hybridgroup/gocv

Windows安装官方介绍:https://gocv.io/getting-started/windows/

安装gocv

go 

会安装到%GOPATH%src下。

编译OpenCV

要使用gocv,需要编译OpenCV。编译并不复杂,需要安装MinGW-W64和CMake。

1、安装MinGW-W64

  1. 下载地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/
  2. 版本要大于7.0,参数要选posix、seh,如下图;
  3. 下载后解压到任意位置,再将mingw64bin添加到环境变量。

657b04578d07c4464768043079409f76.png

2、安装CMake

  1. 下载地址:https://cmake.org/download/
  2. 正常安装,环境变量自动添加。

3、编译

cd 

其中gocv库提供的win_build_opencv.cmd为安装过程命令:

  1. 下载opencv-4.1.2.zip并解压到C:opencv
  2. 下载opencv_contrib-4.1.2.zip并解压到C:opencv
  3. cmake
  4. mingw32-make
  5. mingw32-make install

其中set PATH那行可以省略。

echo 

编译好后,添加C:opencvbuildinstallx64mingwbin到环境变量。

注意:

1、mingw32-make过程中断,编译失败

    • 可能是由于多线程编译时有的依赖库还没有生成造成的
    • 解决办法:反复执行mingw32-make

2、Python的影响

    • 如果你的电脑装了Python,且环境变量添加了Python安装目录,可能会出现链接错误,这是因为有些lib依赖库按环境变量在Python目录中找到了,而这些库与编译不匹配。
    • 解决办法:环境变量去掉Python目录,更简单的办法是把Python目录改名,编译完成后再改回来。

测试OpenCV

cd 

结果

gocv version: 0.21.0
opencv lib version: 4.1.2

安装成功。

问题

按以上过程编译、安装,不用额外配置就能直接使用。如果报错找不到 #include<opencv2/opencv.hpp>,可能是你没在C:opencv下编译,Go就是这么无情!实际上,Gocv的默认Opencv路径在gocv.ioxgocvcgo.go里定义:

// +build !customenv,!openvino

解决办法:如下配置CGO环境变量,然后使用-tags customenv执行go编译和运行

set CGO_CXXFLAGS="--std=c++11"
set CGO_CPPFLAGS=-IC:opencvbuildinstallinclude
set CGO_LDFLAGS=-LC:opencvbuildinstallx64mingwlib -lopencv_core412 -lopencv_face412 -lopencv_videoio412 -lopencv_imgproc412 -lopencv_highgui412 -lopencv_imgcodecs412 -lopencv_objdetect412 -lopencv_features2d412 -lopencv_video412 -lopencv_dnn412 -lopencv_xfeatures2d412 -lopencv_plot412 -lopencv_tracking412 -lopencv_img_hash412

其中路径修改为你的OpenCV目录;如果使用了不同版本的OpenCV,修改412为相应的版本号。使用方法:

go run -tags customenv cmdversionmain.go
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值