OpenCV编译安装配置总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011178262/article/details/78209791

Linux

Compilation and Installation

Dependencies

sudo apt-get install build-essential  
sudo apt-get install  libgtk2.0-dev libavcodec-dev libavformat-dev  libtiff4-dev  libswscale-dev libjasper-dev
sudo apt-get install cmake pkg-config 

CMake

#!/bin/sh
cmake \
    -D CMAKE_BUILD_TYPE=Release \
    -D CMAKE_INSTALL_PREFIX=/usr/local/opencv_249 \ 
    -D WITH_VTK=OFF \
    -D WITH_MATLAB=OFF \
    -D WITH_TBB=ON \
    -D WITH_IPP=OFF \
    -D WITH_FFMPEG=OFF \
    -D WITH_V4L=ON \
    -D WITH_CUDA=OFF \
    -D CUDA_GENERATION=Kepler \
    -D ENABLE_PRECOMPILED_HEADERS=OFF \
#   -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
    ..

Make

make -j2

Make Install

sudo make install -j2

Errors

  • /usr/local/include/c++/6.2.0/cstdlib:75:25: fatal error: stdlib.h: No such file or directory

    -D ENABLE_PRECOMPILED_HEADERS=OFF

  • nvcc fatal : Unsupported gpu architecture ‘compute_11’
    CMake Error at cuda_compile_generated_matrix_operations.cu.o.cmake:206

    -D CUDA_GENERATION=Kepler
    (When using cmake to do configurations, set the option CUDA_GENERATION to specific your GPU architecture.)

  • opencv/modules/videoio/src/ffmpeg_codecs.hpp:111:7: error: ‘CODEC_ID_H263P’ was not declared in this scope

    -D WITH_FFMPEG=OFF

Other Tutorials

Check Informations

  • 查看opencv版本
pkg-config --modversion opencv
  • 查看opencv包含目录
pkg-config --cflags opencv
  • 查看opencv库目录
pkg-config --libs opencv

Using

Compilation

g++ `pkg-config opencv --cflags` test.cpp -o test `pkg-config opencv --libs` 

Multiple OpenCV

Installation

Ubuntu 15.04 Opencv 安装(多版本并存)

Using

Using CMake

在opencv编译好后,所在目录中一般会有一个叫OpenCVConfig.cmake的文件,这个文件指定了CMake要去哪里找OpenCV,设置OpenCV_DIR为包含OpenCVConfig.cmake的目录(可设置CMAKE_MODULE_PATH),如在C++工程CMakeLists.txt中添加

set(OpenCV_DIR "/home/ubuntu/src/opencv-3.1.0/build")
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )

因此,使用哪个版本的Opencv,只要找到对应的OpenCVConfig.cmake文件,并且将其路径添加到工程的CMakeLists.txt中即可。

Using Makefile

将opencv-3.1.0.pc和opencv-2.4.12.pc拷贝到/usr/lib/pkgconfig目录(可设置PKG_CONFIG_PATH)下,
使用opencv-3.1.0时,Makefile中为:

COMMON  += -DOPENCV
CFLAGS  += -DOPENCV
LDFLAGS += `pkg-config --libs opencv-3.1.0`
COMMON  += `pkg-config --cflags opencv-3.1.0`

使用opencv-2.4.12时,Makefile中为:

COMMON  += -DOPENCV
CFLAGS  += -DOPENCV
LDFLAGS += `pkg-config --libs opencv-2.4.12`
COMMON  += `pkg-config --cflags opencv-2.4.12`

Uninstall

sudo make uninstall
or
#install-mainfest.txt包含了安装文件的路径
sudo cat install-manifest.txt | sudo xargs rm 

Windows

猜你喜欢

转载自blog.csdn.net/u011178262/article/details/78209791