ubuntu 10.4 编译opencv 2.4.1 源码

开始安装 
将从官网下载的源码 opencv2.4.8.zip 复制到 /home/own 下,cd到该目录,执行

unzip opencv2.4.8.zip  
cd opencv2.4.8  
mkdir release  
cd release  
ccmake ../

进入ccmake后,按 c 就会弹出如下界面

ubuntu 10.4 编译opencv 2.4.1 源码_第1张图片

我基本什么都没改,就把 BUILD_JPEG 和 BUILD_PNG 这两项改成了 ON ,其余全部都默认,键盘按c,然后按g,然后就回到命令行界面,

make  
sudo make install 

到了这一步,opencv就已经安装得差不多了,接下来,

sudo vim /etc/ld.so.conf.d/opencv.conf 

在这个新文件里插入opencv安装的路径 “/usr/local/lib”,然后

sudo ldconfig

到这里,opencv就安装完毕了。

四、测试

首先,重启电脑,当然,如果你要不要重启电脑的办法更好(还望告知),然后执行,

cd /home/own/opencv-2.4.8/samples/c  
./build_all.sh  
./find_obj

第一步build过程应该是没有什么问题的,但是执行第二个脚本的时候,发生了错误,如下图所示:

ubuntu 10.4 编译opencv 2.4.1 源码_第2张图片

根据提示,应该是缺少了某些依赖文件 libgtk2.0-dev ,根据提示,直接执行:

sudo apt-get install libgtk2.0-dev 

然后返回第三步,重新 make 和 sudo make install,然后直接进入第四步,无需重启电脑(估计重启电脑只是为了

让/etc/ld.so.conf.d/opencv.conf这个文件生效),然后就会发现opencv已经可以正常运行了。

 

 

点击(此处)折叠或打开

  1. [ 14%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o
  2.   /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp: In function '(static initializers for /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp)':
  3.   /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp:280:10: error: inconsistent operand constraints in an 'asm'
  4.   make[3]: *** [modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o] Error

这个可以根据:https://github.com/Itseez/opencv/commit/ea50be0529c248961e1b66293f8a9e4b807294a6修改。
 

点击(此处)折叠或打开

  1. CMake Error at /home/akaedu/opencv-2.4.10/cmake/cl2cpp.cmake:50 (string):
  2.   string does not recognize sub-command MD5

    这个直接进入到cmake/cl2cpp.cmake 文件中将50行注释掉即可。
 

点击(此处)折叠或打开

  1. #string(MD5 hash "${lines}")

接下来继续make,等待N分钟后编译完成。
7.如果cmake时没有指定路径,此时可以通过修改:CMakeCache.txt,修改其中的CMAKE_INSTALL_PREFIX:PATH=/usr/local/opencv_x86来指定安装的路径。
8.make install, 然后根据上面的参考链接配置

编译arm板本的 opencv 

新建cmake Build目录

cd opencv-3.2.0
mkdir _build
  •  

修改CMakeLists.txt

# 强制打开NEON开关
# OCV_OPTION(ENABLE_NEON "Enable NEON instructions" "${NEON}" IF CMAKE_COMPILER_IS_GNUCXX AND (ARM OR AARCH64 OR IOS) )
OCV_OPTION(ENABLE_NEON   "Enable NEON instructions"           ON )

修改cmake/OpenCVCompilerOptions.cmake

if(ENABLE_NEON)
    add_extra_compiler_option("-mcpu=cortex-a7 -mfpu=neon")

使用cmake-gui进行配置

点击Configure按钮弹出工具链配置界面

这里写图片描述

选择Specify options for cross-compiling,进入交叉编译链设置界面

这里写图片描述

点击Configure生成配置选项,并且打开Advancd选项

# 去掉勾选为FLASE 勾选为TRUE
BUILD_SHARED_LIBS                 # FLASE为编译静态库 TRUE为编译动态库
CMAKE_BUILD_TYPE                  # Release
CMAKE_CXX_FLAGS                   # -fPIC
CMAKE_C_FLAGS                     # -fPIC
CMAKE_EXE_LINKER_FLAGS            # -lrt -lpthread    
CMAKE_INSTALL_PREFIX              # 自定义安装目录
WITH_CUDA                         # FLASE 禁用CUDA
WITH_CUFFT                        # FLASE 禁用CUFFT
WITH_EIGEN                        # FLASE 禁用EIGEN
WITH_FFMPEG                       # FLASE 禁用FFMPEG
WITH_OPENCL                       # FLASE 禁用OPENCL
WITH_OPENCLAMDBLAS                # FLASE 禁用OPENCLAMDBLAS
WITH_OPENCLAMDFFT                 # FLASE 禁用OPENCLAMDFFT
WITH_OPENCL_SVM                   # FLASE 禁用OPENCL_SVM

# 可选配置(根据需要进行配置,建议全部去掉勾选)
WITH_TIFF
WITH_1394
WITH_GSTREAMER
WITH_JASPER      
WITH_LAPACK
WITH_MATLAB
WITH_WEBP

# Opencv编译模块配置
# 为节省编译时间和库体积建议去掉不需要编译的模块,在本文档中只开启了下面几个模块,可以根据具体需要添加
BUILD_opencv_core           # TRUE
BUILD_opencv_imgcodecs      # TRUE
BUILD_opencv_imgproc        # TRUE

点击Generate生成Makefile

进入_build目录&编译

cd _install
make -j8 
make install

你可能感兴趣的:(linux)