linux下qt+opencv、arm端移植opencv

原创 2017年10月13日 20:04:27

linux下qt+opencv、arm端移植opencv

团队要做一个嵌入式定位的项目,arm端的工作进行一些图像采集、图像预处理,及多种通信接口管理、GUI显示、人机交互等工作。首先先把opencv移植来进行一些实验测试。

本文记录下在linux下移植opencv及arm端移植的过程。

qt的安装过程参考前面转载的一篇文章  http://blog.csdn.net/yuechuxuan/article/details/78216735

一、Linux下移植opencv配合qt使用

(1)首先更新源,sudo update sudo upgrade

然后下载opencv编译过程中用到的一些包,搜索一下与opencv相关的有好多。这里我安装了其中的一些,sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

pkg-config。

下载cmake,cmake-qt-gui

sudo apt-get install cmake cmake-qt-gui

(2)下载opencv包

我是在opencv官网下载的opencv2.4.11 for linux。下载后解压进入,opencv-2.4.11目录下,执行cmake-gui

点击Configure


Generate后进入 opencv-x86目录下 执make          

make install 在/usr/local/lib下会出现编译好的lib文件。

(3)安装完成后对系统变量进行配置

sudo gedit /etc/ld.so.config.d/opencv.conf

在其中添加/usr/local/lib 保存后执行sudo ldconfig

sudo gedit /etc/bash.bashrc

在其中添加PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export PKG_CONFIG_PATH

(4)测试运行一下

在.pro文件中添加

INCLUDEPATH+=/usr/local/include\

/usr/local/include/opencv\

/usr/local/include/opencv2

LIBS += /usr/local/arm/libopencv_highgui.so \

/usr/local/arm/libopencv_core.so \

/usr/local/arm/libopencv_imgproc.so

运行后结果出现一个框

测试完毕,linux下qt+opencv搭建成功。

二、 arm端移植opencv

1.新建opencv-arm目录,进入opencv-2.4.9执行cmake-gui 

2.点击Configure,保持unixmakefiles选项,选择specify options for corss-compiling来选择编译器路径


3.operating system填入os名,即编译器名arm-linux  os version这个可以不填,我不清楚这个填内核版本还是编译器版本,compilers C填入编译器arm-linux-gcc的elf路径,C++填入编译器arm-linux-g++的elf路径,target root是寻找lib和include文件的,这些文件都在arm-linux编译器文件路径下


4.去掉WITH_TIFF  WITH_CUDA,修改CMAKE_BUILD_TYPE为Release为要生成文件的路径, 修改CMAKE_INSTALL_PREFIX,去掉WITH_OPENGL,修改CMAKE_FIND_ROOT_PATH为Linux安装库的路径





5.点击generate,进入到opencv-arm/CMakeCache.txt下找到CMAKE_EXE_LINKER_FLAGS:STRING='',

CMAKE_EXE_LINKER_FLAGS原来为空,在该行添加-lpthread -lrt -ldl三个参数。



6.执行make

 make install

三、出现的问题

1.cmake-gui时出现

error in configuration process ,project files may be invalid


刚开始,我是把opencv-2.4.9放到了usr/local/arm目录下配置的,所以出现了这个问题,后来我就放到/home/Downloads目录下就好了,原因可能是权限不够,不能在usr/local/arm   cmake-gui,具体原因不太清楚,暂且记录下现在的解决方法,以后知道了再补上

2.在configure的过程中出现

CMake Error at cmake/FindCUDA.cmake:762(if):

  if given arguments:

 

    "CUDA_VERSION""VERSION_GREATER" "5.0" "AND""CMAKE_CROSSCOMPILING" "AND"   "MATCHES" "arm""AND" "EXISTS""CUDA_TOOLKIT_ROOT_DIR-NOTFOUND/targets/armv7-linux-gnueabihf"

 

  Unknown arguments specified

  Call Stack (most recent call first):

  cmake/OpenCVDetectCUDA.cmake:26(find_package)

  cmake/OpenCVFindLibsPerf.cmake:24 (include)

  CMakeLists.txt:423 (include)

这个CUDA有问题,看看WITH_CUDA默认确实是选中的,在上面的框中去掉WITH_CUDA的√,继续configure

4.我第一次安装的版本是opencv3.8.0,但是把在make的过程中出现

make[2]: *** [modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/drawing.cpp.obj] Error 1
make[1]: *** [modules/imgproc/CMakeFiles/opencv_imgproc.dir/all] Error 2
make: *** [all] Error 2


试了很多种方法也没有解决,最后觉得应该是opencv的版本太高了,动态库的链接有问题,也没有解决,不知道是什么原因,还是用低版本的吧!






参考的文章

http://blog.csdn.net/jd404647184/article/details/45745535

http://blog.csdn.net/jakeo0o/article/details/54584199

http://www.cnblogs.com/emouse/archive/2013/04/01/2993842.html








版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结 转

下面的文字比较多啊,主要是加入了很多自己的感慨啊,感叹啊啥的,其实我觉得已经是罪简单的方法了,我基本上把我遇到的问题全部罗列了,大家可以参考一下~其实很多问题都是在走弯路,我希望后面的人更顺畅一点吧~...

Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结

这是我的第一篇博客,把我最近做的一个东西和大家分享一下,非常高兴和大家讨论,CSDN是个卧虎藏龙之处,好多特别好的文章,我这里见丑了~~~   下面的文字比较多啊,主要是加入了很多自己的感慨啊,感...

Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结 转

http://www.haogongju.net/art/944972 这是我的第一篇博客,把我最近做的一个东西和大家分享一下,非常高兴和大家讨论,CSDN是个卧虎藏龙之处,好多特别好的文章,我...

Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结

这是我的第一篇博客,把我最近做的一个东西和大家分享一下,非常高兴和大家讨论,CSDN是个卧虎藏龙之处,好多特别好的文章,我这里见丑了~~~   下面的文字比较多啊,主要是加入了很多自己的感慨啊,感...

Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结 转

这是我的第一篇博客,把我最近做的一个东西和大家分享一下,非常高兴和大家讨论,CSDN是个卧虎藏龙之处,好多特别好的文章,我这里见丑了~~~   下面的文字比较多啊,主要是加入了很多自己的感...

Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结

这是我的第一篇博客,把我最近做的一个东西和大家分享一下,非常高兴和大家讨论,CSDN是个卧虎藏龙之处,好多特别好的文章,我这里见丑了~~~   下面的文字比较多啊,主要是加入了很多自己的感慨啊,感...

Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结

这是我的第一篇博客,把我最近做的一个东西和大家分享一下,非常高兴和大家讨论,CSDN是个卧虎藏龙之处,好多特别好的文章,我这里见丑了~~~ 下面的文字比较多啊,主要是加入了很多自己的感慨啊,感叹啊啥的...
  • jdzw_c
  • jdzw_c
  • 2011-06-30 01:56
  • 2239

[嵌入式资料] Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结 转

Linux下移植OpenCV + Qt 到ARM(Tiny6410)总结 转CSDN 下面的文字比较多啊,主要是加入了很多自己的感慨啊,感叹啊啥的,其实我觉得已经是罪简单的方法了,我基本上把...
  • b5w2p0
  • b5w2p0
  • 2014-08-09 10:59
  • 1096

linux下qt+opencv、arm端移植opencv

linux下qt+opencv、arm端移植opencv 团队要做一个嵌入式定位的项目,arm端的工作进行一些图像采集、图像预处理,及多种通信接口管理、GUI显示、人机交互等工作。首先先把open...

移植OpenCv2.1到arm6410(一)linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结

首先是安装cmake,安装过程详见我的系列帖子:http://bbs.witech.com.cn/viewthread.php?tid=14486&pid=95708&page=2&extra=#pi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)