Ubuntu 12.04 安装opencv 2.4.9步骤:
1.安装依赖包。否则写openCV程序的时候虽然编译能通过,可能运行时出错。
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev
2. 下载openCV的源码包并解压出来
3. 进入解压出来的目录
cd ~/opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
4. sudo make
5. sudo make install
6. 测试代码运行
代码测试
DisplayImage.cpp
- #include<cv.h>#include<highgui.h>#include<iostream>usingnamespacecv;usingnamespacestd;intmain(intargc,char**argv){Matimage;image=imread(argv[1],1);if(argc!=2||!image.data){cout<<"Noimagedata\n";return-1;}namedWindow("DisplayImage",CV_WINDOW_AUTOSIZE);imshow("DisplayImage",image);waitKey(0);return0;}
g++ DisplayImage.cpp -o DisplayImage `pkg-config opencv –cflags –libs`
运行就可以看到显示出来的图片
./DisplayImage abc.jpg
至于`pkg-config opencv –cflags –libs` 什么意思,具体我也不知道,反正不加这个就编译通不过。其实就是提取build选项。qt中也可以这样指定,很方便。参考build_all.sh
期间可能遇到的问题:
Scanning dependencies of target opencv_core[ 10%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.oLinking CXX shared library ../../lib/libopencv_core.so[ 15%] Built target opencv_core[ 15%] Built target opencv_ts_pch_dephelp[ 15%] Built target pch_Generate_opencv_ts[ 15%] Built target opencv_imgproc_pch_dephelp[ 15%] Built target pch_Generate_opencv_imgprocLinking CXX shared library ../../lib/libopencv_imgproc.so/usr/bin/ld: ../../../3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32/libippicv.a(jmp_ippiResizeGetBufferSize_16s_as.s.o): relocation R_386_GOTOFF against undefined symbol `ippicvJumpIndexForMergedLibs’ can not be used when making a shared object/usr/bin/ld: final link failed: Bad valuecollect2: ld returned 1 exit statusmake[2]: *** [lib/libopencv_imgproc.so.3.0.0] Error 1make[1]: *** [modules/imgproc/CMakeFiles/opencv_imgproc.dir/all] Error 2make: *** [all] Error 2
cmake时 添加-D WITH_IPP=OFF即可。
完整命令:cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX= /usr/local/ -D WITH_IPP=OFF ../
参考:http://answers.opencv.org/question/37115/opencv-249-make-error/
问题2:ocl不支持。在进行opencv_createsamples训练的时候,会提示opencl错误。这里对于在非gpu上运行情况,建议关闭opencl。
ppeix:release$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX= /usr/local/ -D WITH_IPP=OFF -D WITH_OPENCL=OFF ../
— Other third-party libraries:– Use IPP: NO– Use Eigen: YES (ver 3.0.5)– Use TBB: NO– Use OpenMP: NO– Use GCD NO– Use Concurrency NO– Use C=: NO– Use Cuda: NO– Use OpenCL: NO
带着我的相机和电脑,远离繁华,走向空旷。