Ubuntu下opencv2.4.9安装

来源:互联网 发布:杭州云计算产业园 编辑:程序博客网 时间:2024/05/17 01:18



1. 先从sourceforge上下载OpenCV的源码

  1. http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip


2. 解压到任意目录

  1. unzip opencv-2.4.9.zip


3. 进入源码目录,创建release目录

  1. cd opencv-2.4.9

  2. mkdir release  


4. 可以看到在OpenCV目录下,有个CMakeLists.txt文件,需要事先安装一些软件

  1. sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev  


5.  进入release目录,安装OpenCV是所有的文件都会被放到这个release目录下

  1. cd release  


6. cmake编译OpenCV源码,安装所有的lib文件都会被安装到/usr/local目录下

  1. cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  

  2. 此时若报以下错误:

    CMake Error at cuda_compile_generated_matrix_operations.cu.o.cmake:206 (message):

    Error generating
    /home/yy/opencv-2.4.9/build/modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.o

    make[2]: *** [modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.o] 错误 1

    make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] 错误 2
    make: *** [all] 错误 2


    输入:“cmake -D CMAKE_BUILD_TYPE=bulid -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..”,即可解决, 接着make

  3. [modules/gpu/CMakeFiles/cuda_compile.dir/src/nvidia/core/./cuda_compile_generated_NCVPyramid.cu.o] 错误 1

  4. make[1]: *** [modules/gpu/CMakeFiles/opencv_gpu.dir/all] 错误 2 
    遇到这个问题是因为工作站下安装了cuda,所以opencv会去
    解决办法:http://download.csdn.net/download/gqixf/10119299这个地址下载NCVPixelOperations.hpp文件替换掉opencv文件夹中的源文件即可

  5. 出现的问题(3):make[2]: *** [modules/gpu/CMakeFiles/opencv_gpu.dir/src/graphcuts.cpp.o] 错误 1

      解决办法:打开graphcuts.cpp文件,修改graphcuts.cpp里面的

    #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) 
    为:

    #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
    然后继续 make -j4

7. 安装


  1. make

  2. sudo make install

  3. 添加环境变量以及测试
      sudo gedit /etc/ld.so.conf.d/opencv.conf
    在opencv.conf里面加入命令
      /usr/local/lib

    更新库目录
    sudo ldconfig

    打开文件bash.bashrc
    sudo gedit /etc/bash.bashrc
    加入下面两行
    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
    export PKG_CONFIG_PATH


8. 测试,在某个目录下建立一个test.cpp文件


#include <cv.h>  
#include <highgui.h>  
 
using namespace cv;  
 
int main() 
{  
    Mat image;  
    image = imread("test.jpg");  
 
    namedWindow("Display Image", CV_WINDOW_AUTOSIZE);  
    imshow("Display Image", image);  
    waitKey(0);  
    return 0;  
}


9. 写一个cmake的makefile,也叫CMakeLists.txt


cmake_minimum_required(VERSION 2.8)
project(test)  
find_package(OpenCV REQUIRED)  
add_executable(test test.cpp)  
target_link_libraries(test ${OpenCV_LIBS}) 

10. 编译+运行

  1. cmake .  

  2. make  

  3. 得到可执行文件test

11.  随便弄个jpg图片做个测试,注意要和上面那个可执行文件放在同一目录下面,我这里名字取的是test.jpg。

12.    ./test   test.jpg    如果能看到照片,那就表示成功了。 
原创粉丝点击