移植opencv3.2.0含opencv_contrib

20 篇文章 6 订阅
14 篇文章 3 订阅

环境及工具准备

  • 个人电脑:

  • GEC6818 嵌入式开发板
  • Opencv3.2.0

  • 交叉编译器

交叉编译 Opencv3.2.0

1.解压 opencv3.2.0

unzip opencv-3.2.0.zip

2.解压 opencv_contrib-3.2.0

tar -zxvf opencv_contrib-3.2.0.tar.gz

3.创建一个新目录,把 opencv3.2.0 和 opencv_contrib-3.2.0 放进去

mkdir opencv_build

mv opencv-3.2.0 opencv_contrib-3.2.0 ./opencv_build/

cd opencv_build

cd opencv-3.2.0

4.新建一个 build 文件并切换到这个目录

mkdir -p build && cd build

5.配置 cmake

如果没有 cmake-gui 先安装:

sudo apt-get install cmake-qt-gui

build 目录下运行 cmake-gui

安装路径如图所示:

点击 Configure

选择交叉编译器的路径,点击 Finish 即可

接下来增加选项

BUILD_ZLIB
BUILD_JPEG
BUILD_PNG
BUILD_opencv_world
OPENCV_ENABLE_NONFREE

取消部分选项

WITH_CUDA
WITH_GTK
WITH_FFMPEG
WITH_1394
WITH_GSTREAMER
WITH_TIFF
WITH_OPENEXR
WITH_OPENCL
BUILD_opencv_freetype
WITH_LIBV4L

修改安装路径

最后加上 opencv_contrib-3.2.0

然后点击点击 Configure 之后再点击 Generate

请注意,一定要连接网络,不然报错。

修改 CMakeCache.txt

保存退出

执行 sudo make -j4

报错了

关闭 WITH_GPHOTO2 选项

又报错

~/expend/others/opencv3.2.0/opencv_build/opencv-3.2.0/modules/stitching 目录下修改 CMakeLists.txt 文件。

加上 INCLUDE_DIRECTORIES("/home/incipe/expend/others/opencv3.2.0/opencv_build/opencv_contrib-3.2.0/modules/xfeatures2d/include") 即可。

还是报错了

这个错改了我好久。。。。。%(&(…%¥&¥#!

最后实在没办法了,把 BUILD_opencv_world 选项去掉,轻松秒杀。

本来我是想着全编译成一个动态库,方便些的,做不到,就只能算了啊。

然后一路无阻,成功。

完成执行 sudo make install 即可。

最后所有编译好的库都在 /opt/opencv3.2.0/lib 里面了。

完结

这是第三次交叉编译 opencv 了,第一次最艰难,能成功真是运气好,第二次就单纯想再复现一次,结果也折腾了很久,不过次数越多,感觉对这东西的理解就越深刻,学习不仅仅只是学习课本知识,更重要的是提高自己发现问题,解决问题的能力。

因为前两次都没有加 opencv_contrib-3.2.0 本博客就是交叉编译了 opencv_contrib-3.2.0 的。

最后送一个编译 opencv 的 Makefile

.PHONY : all clean

cc = arm-none-linux-gnueabi-g++
include = /opt/opencv3.2/include

src = $(wildcard *.cc)
obj = $(patsubst %.cc, %, $(src))

all : $(obj)

% : %.cc
	$(cc) -o $@ $^ -I ${include} `pkg-config --cflags --libs opencv` -std=c++11 -g -Wall

clean:
	rm -rf $(obj)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值