目录

全志H6开发板ubuntu编译安装GOCV(opencv 4.2.0)

前言

由于需要在ARM64的linux中进行摄像头图像识别,所以参照https://gocv.io/getting-started/linux/编译安装GO版本的opencv即GoCV。

准备

安装Golang,可参照Arm64 ubuntu18中安装golang。

安装

安装GoCV包:

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

进入gocv下载目录

1
cd $GOPATH/src/gocv.io/x/gocv

在当前目录下进行以下操作。

快速安装

1
make install

编译时间比较长,全志H6大概需要近三个半小时。若一切正常编译安装后结果如下。

1
2
gocv version: 0.22.0
opencv lib version: 4.2.0

可能的问题

git clone太慢

将链接中github.com改为github.com.cnpmjs.org

opencv.zip与 opencv_contrib.zip下载不稳定

根据Makefile,将opencv.zip与 opencv_contrib.zip下载链接先行下载,然后修改Makefile注释curl,直接复制opencv.zip与opencv_contrib.zip至指定目录。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
download:
	rm -rf $(TMP_DIR)opencv
	mkdir $(TMP_DIR)opencv
	cd $(TMP_DIR)opencv
	#curl -Lo opencv.zip https://github.com/opencv/opencv/archive/$(OPENCV_VERSION).zip
        cp /home/maxim/go_workspace/src/gocv.io/x/gocv/opencv.zip $(TMP_DIR)opencv/opencv.zip
	unzip -q opencv.zip
	#curl -Lo opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/$(OPENCV_VERSION).zip
        cp /home/maxim/go_workspace/src/gocv.io/x/gocv/opencv_contrib.zip $(TMP_DIR)opencv/opencv_contrib.zip
	unzip -q opencv_contrib.zip
	rm opencv.zip opencv_contrib.zip
	cd -

boostdesc_bgm.i等文件未下载

查看 build 文件夹下的日志文件 CMakeDownloadLog.txt,在该文件中搜索定位 boostdesc_bgm.i。

发现文件下载失败主要是“连接raw.githubusercontent.com|151.101.228.133|:443… 失败:拒绝连接”,在wget直接下载日志中的相关地址,发现 151.101.228.133当前无法使用,但151.101.108.133可以使用,在hosts中添加151.101.108.133 raw.githubusercontent.com,重新开始编译下载拒绝问题解决。

若 151.101.108.133 也无法使用,可直接复制其日志中的下载地址到浏览器,若还能查看该文件的源码,可直接拷贝源码另存为同名文件,放在 opencv_contrib/modules/xfeatures2d/src/ 路径下。

缺失几个文件就拷贝几个,一般无法下载的文件如下:

boostdesc_bgm.i

boostdesc_bgm_bi.i

boostdesc_bgm_hd.i

boostdesc_lbgm.i

boostdesc_binboost_064.i

boostdesc_binboost_128.i

boostdesc_binboost_256.i

vgg_generated_120.i

vgg_generated_64.i

vgg_generated_80.i

vgg_generated_48.i