Ubuntu18 交叉编译opencv3.4 到ARM中。并执行把图像二值化并保存。

参考下面链接: 

https://blog.csdn.net/tajon1226/article/details/100606316
https://blog.csdn.net/ajianyingxiaoqinghan/article/details/70194392
安装依赖
1. sudo apt-get install build-essential    
2. sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 
apt-get install libgtk2.0-dev pkg-config

(Ubuntu18.04下安装OpenCv依赖包libjasper-dev无法安装的问题

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

成功的解决了问题,其中libjasper1是libjasper-dev的依赖)
3. sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
将boostdesc_bgm文件拷贝到   /usr/local/arm/opencv-3.4.5/opencv_contrib-3.4.5/modules/xfeatures2d/src
打开   gedit ~/.bashrc




export PKG_CONFIG_PATH=/usr/local/arm/opencv-3.4.0/install/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/opencv-3.4.0/install/
export CPLUS_INCLUDE_PATH=/usr/local/arm/opencv-3.4.0/install/include:$CPLUS_INCLUDE_PATH



export PATH=$PATH:/usr/local/arm/compiler/bin
export OPENCV_DEPEND=/usr/local/arm/opencv-3.4.0/install
export OPENCV_INSTALL=/usr/local/arm/opencv-3.4.0

 

 

 所有文件在/usr/local/arm中搞。

我用的opencv3.4和交叉编译器如下

Ubuntu18 交叉编译opencv3.4 到ARM中。并执行把图像二值化并保存。_第1张图片

1.在opencv3.4中建立release和install,还有build。

2.在release中cmake-gui(没有的自己安装)

Ubuntu18 交叉编译opencv3.4 到ARM中。并执行把图像二值化并保存。_第2张图片

 

Ubuntu18 交叉编译opencv3.4 到ARM中。并执行把图像二值化并保存。_第3张图片

交叉编译cross-compile-tool换成compiler,

3.打勾去勾

勾选BUILD_JPEG、BUILD_PNG还有ZLIB


MAKE_BUILD_TYPE 输入Release
MAKE_INSTALL_PREFIX 选择你想要安装的目录,这里是源码下刚才创建的install目录



去掉 WITH_CUDA
去掉 WITH_1394
去掉 WITH_GSTREAMER
去掉 WITH_LIBV4L
去掉 WITH_TIFF
去掉 BUILD_OPENEXR
去掉 WITH_OPENEXR
去掉 BUILD_opencv_ocl
去掉 WITH_OPENCL


编译后,用gedit打开release中的CMakeCache.txt:
CMAKE_EXE_LINKER_FLAGS选项本来为空,此时在后面加上:-pthread -ldl -lrt
再次回到cmake-gui

Ubuntu18 交叉编译opencv3.4 到ARM中。并执行把图像二值化并保存。_第4张图片

 然后再次configure和generate。

4. sudo make -j8

sudo make install

 

 

第一部分结束----------------------------------------------------------------------------------------------------------------------------------

5.把install中的lib文件夹和include文件夹的内容分别复制到compiler文件中arm-linux-gnueabihf下的lib和include中。

Ubuntu18 交叉编译opencv3.4 到ARM中。并执行把图像二值化并保存。_第5张图片

 

Ubuntu18 交叉编译opencv3.4 到ARM中。并执行把图像二值化并保存。_第6张图片

 

第二部分结束----------------------------------------------------------------------------------------

用一个测试文件二值化图像并保存。


#include 
#include 
#include 
using namespace std;
using namespace cv;
int main()
{
	Mat imag, result;
	imag = imread("mv3.jpg",16);
	result = imag.clone();
    threshold(imag, result, 100, 250, THRESH_OTSU);
	imwrite("huidu.jpg",result);
	return 0;
}

 

arm-linux-gnueabihf-g++ -o hd hd.cpp  `pkg-config --cflags --libs opencv`

 hd为.cpp的名字。

用TF卡把执行文件和compiler的arm-linux-gnueabihf中的lib文件夹一起搞到板子的/lib里。执行文件获取权限 

chmod  777  hd 

然后  ./hd执行。会生成一个huidu.jpg

结束。

 

 

 

你可能感兴趣的:(Ubuntu,opencv)