arm-linux环境下安装opencv,编译OpenCV for Arm-Linux

编程知识 更新时间:2023-04-27 06:49:34

OpenCV是Intel支持的开源计算机视觉库。它由一系列C函数和少量C++类构成,实现了图像处理和计算机视觉方面的很多通用算法。它不依赖于其它的外部库—尽管也可以使用某些外部库。

OpenCV使用BSD License,对非商业应用和商业应用都可以免费使用。

OpenCV的主要应用环境是Windows和Linux,对于嵌入式系统如arm-linux,很少有资料提到,因此将我在arm-linux编译过程记录下来和大家分享。

预备工作:

a. 安装交叉编译链

我使用的是arm-linux-gcc 4.3.2,解压到目录/usr/local/arm/4.3.2,然后在环境变量PATH中增加/usr/local/arm/4.3.2/bin

b. 安装CMake

OpenCV 2.0之后的版本,必须使用CMake创建Makefile。我使用的CMake版本是2.8.2,解压到目录/usr/local/cmake-2.8.2-Linux-i386,然后在环境变量PATH中增加/usr/local/cmake-2.8.2-Linux-i386/bin

编译OpenCV:

1、解压OpenCV 2.1到/usr/local/OpenCV-2.1.0目录下

2、创建/usr/local/opencv-arm/目录,作为CMake编译arm版本的工作目录【LINUX公社 www.LinuxIDC 】

3、在X环境下,运行cmake-gui

选择源代码目录:/usr/local/OpenCV-2.1.0

选择Build目录:/usr/local/opencv-arm/

点击Configure,保持generator为Unix Makefiles,选择Specify options for cross-compiling,点击Next

Operating System填写arm-inux

C Compilers填写/usr/local/arm/4.3.2/bin/arm-linux-gcc

C++ Compilers填写/usr/local/arm/4.3.2/bin/arm-linux-g++

程序库的Target Root填写/usr/local/arm/4.3.2/,然后点击Finish

修改默认配置,默认安装目录为/usr/local,对于交叉编译的库来说并不合适,所以我把CMAKE_INSTALL_PREFIX变量改为/usr/local/arm/lib/opencv/

另外,我没有安装tiff图像的支持,因此去掉WITH_TIFF

点击Generate生成Makefile

4、在终端界面中,进入目录/usr/local/opencv-arm,运行make编译opencv

编译时发现如下错误:

Linking CXX executable ../../bin/opencv_createsamples

../../lib/libcxcore.so: undefined reference to `clock_gettime'

../../lib/libcxcore.so: undefined reference to `pthread_key_create'

../../lib/libcxcore.so: undefined reference to `pthread_getspecific'

../../lib/libcxcore.so: undefined reference to `pthread_setspecific'

原因是cmake不认识我定义的arm-linux系统标记,没有加上库pthread和rt的链接选项

5、修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt,重新编译,错误消除

6、运行make install,将opencv生成的库和头文件安装到目录/usr/local/arm/lib/opencv/

更多推荐

arm-linux环境下安装opencv,编译OpenCV for Arm-Linux

本文发布于:2023-04-20 14:07:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/ed0d69acd90ddac9a56b66d3474b3a07.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:环境   linux   arm   opencv   Linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 90296文章数
  • 23313阅读数
  • 0评论数