2017-06-04 59 views
0

我已經安裝了opencv的-3.2,我可以看到bin和lib文件CMake搜索OpenCV庫

$ ls /share/apps/computer/opencv-3.2.0/built/bin/opencv_ 
opencv_annotation  opencv_createsamples opencv_traincascade  opencv_version  opencv_visualisation 
$ ls /share/apps/computer/opencv-3.2.0/built/lib/ 
libopencv_calib3d.so   libopencv_imgcodecs.so.3.2.0 libopencv_stitching.so.3.2 
libopencv_calib3d.so.3.2  libopencv_imgproc.so   libopencv_stitching.so.3.2.0 
libopencv_calib3d.so.3.2.0  libopencv_imgproc.so.3.2  libopencv_superres.so 
libopencv_core.so    libopencv_imgproc.so.3.2.0  libopencv_superres.so.3.2 
libopencv_core.so.3.2   libopencv_ml.so    libopencv_superres.so.3.2.0 
libopencv_core.so.3.2.0  libopencv_ml.so.3.2   libopencv_videoio.so 
libopencv_features2d.so  libopencv_ml.so.3.2.0   libopencv_videoio.so.3.2 
libopencv_features2d.so.3.2 libopencv_objdetect.so   libopencv_videoio.so.3.2.0 
libopencv_features2d.so.3.2.0 libopencv_objdetect.so.3.2  libopencv_video.so 
libopencv_flann.so    libopencv_objdetect.so.3.2.0 libopencv_video.so.3.2 
libopencv_flann.so.3.2   libopencv_photo.so    libopencv_video.so.3.2.0 
libopencv_flann.so.3.2.0  libopencv_photo.so.3.2   libopencv_videostab.so 
libopencv_highgui.so   libopencv_photo.so.3.2.0  libopencv_videostab.so.3.2 
libopencv_highgui.so.3.2  libopencv_shape.so    libopencv_videostab.so.3.2.0 
libopencv_highgui.so.3.2.0  libopencv_shape.so.3.2   pkgconfig/ 
libopencv_imgcodecs.so   libopencv_shape.so.3.2.0 
libopencv_imgcodecs.so.3.2  libopencv_stitching.so 

現在,根據tutorial,我寫了一個簡單的程序。問題是,cmake得到一些錯誤,似乎它無法找到該庫。

CMake Error at CMakeLists.txt:3 (find_package): 
    By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has 
    asked CMake to find a package configuration file provided by "OpenCV", but 
    CMake did not find one. 

    Could not find a package configuration file provided by "OpenCV" with any 
    of the following names: 

    OpenCVConfig.cmake 
    opencv-config.cmake 

    Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set 
    "OpenCV_DIR" to a directory containing one of the above files. If "OpenCV" 
    provides a separate development package or SDK, be sure it has been 
    installed. 

我不知道如何設置CMAKE_PREFIX_PATHOpenCV_DIR。我該如何解決這個問題?

的CMakeLists.txt的內容是

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

如何讓你的機器上安裝的OpenCV?並附上您的'CMakeLists.txt' – ZdaR

+0

的內容我遵照指示。 http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html – mahmood

+0

這個[鏈接]嘗試(http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0 -and-蟒蛇-2-7-上的Ubuntu /) – ZdaR

回答

0

這取決於你是否有OpenCVConfig.cmake腳本,來與您的OpenCV的安裝(即,在安裝目錄/share/apps/computer/opencv-3.2.0/built/)。

如果您的OpenCV 的安裝缺乏OpenCVConfig.cmake腳本,需要運輸項目與腳本FindOpenCV.cmake(找到並從網上覆制的,幾乎任何人都適合),以及與此腳本中添加目錄到CMAKE_MODULE_PATH變量:

list(APPEND CMAKE_MODULE_PATH <directory-with-find-script>) 

可能的方式來暗示CMake的有關安裝的OpenCV:

  1. 如果你有OpenCVConfig.cmake腳本,設置OpenCV_DIR變量的目錄包含在此腳本:

    cmake -DOpenCV_DIR=/share/apps/computer/opencv-3.2.0/built/<...> 
    
  2. 設置CMAKE_PREFIX_PATH變量的OpenCV的安裝前綴:

    cmake -DCMAKE_PREFIX_PATH=/share/apps/computer/opencv-3.2.0/built 
    

    這工作都與OpenCVConfig.cmakeFindOpenCV.cmake腳本。另請參閱該問題:Hinting Find<name>.cmake Files with a custom directory