Я пытаюсь установить OpenCV 3.0 на своей Ubuntu 16.04 (Гостеприимный Xerus), но я всегда получаю следующие ошибки. Тест также проверяет на MATLAB. OpenCV требует MATLAB?
-- Performing Test HAVE_CXX_WMISSING_PROTOTYPES - Failed
-- Performing Test HAVE_CXX_WSTRICT_PROTOTYPES - Failed
-- Performing Test HAVE_C_WSIGN_PROMO - Failed
-- Performing Test HAVE_C_WNO_DELETE_NON_VIRTUAL_DTOR - Failed
-- Performing Test HAVE_CXX_WNO_UNNAMED_TYPE_TEMPLATE_ARGS
-- Performing Test HAVE_CXX_WNO_UNNAMED_TYPE_TEMPLATE_ARGS - Failed
-- Performing Test HAVE_C_WNO_UNNAMED_TYPE_TEMPLATE_ARGS
-- Performing Test HAVE_C_WNO_UNNAMED_TYPE_TEMPLATE_ARGS - Failed
-- Performing Test HAVE_C_FVISIBILITY_INLINES_HIDDEN - Failed
-- Looking for /home/hanfei/anaconda2/include/libpng/png.h - not found
-- Performing Test HAVE_CXX_WNO_MISLEADING_INDENTATION - Failed
Checking for module 'gstreamer-base-1.0'
-- No package 'gstreamer-base-1.0' found
-- Checking for module 'gstreamer-video-1.0'
-- No package 'gstreamer-video-1.0' found
-- Checking for module 'gstreamer-app-1.0'
-- No package 'gstreamer-app-1.0' found
-- Checking for module 'gstreamer-riff-1.0'
-- No package 'gstreamer-riff-1.0' found
-- Checking for module 'gstreamer-pbutils-1.0'
-- No package 'gstreamer-pbutils-1.0' found
-- Checking for module 'gstreamer-base-0.10'
-- No package 'gstreamer-base-0.10' found
-- Checking for module 'gstreamer-video-0.10'
-- No package 'gstreamer-video-0.10' found
-- Checking for module 'gstreamer-app-0.10'
-- No package 'gstreamer-app-0.10' found
-- Checking for module 'gstreamer-riff-0.10'
-- No package 'gstreamer-riff-0.10' found
-- Checking for module 'gstreamer-pbutils-0.10'
-- No package 'gstreamer-pbutils-0.10' found
-- Checking for module 'libdc1394-2'
-- No package 'libdc1394-2' found
-- Checking for module 'libdc1394'
-- No package 'libdc1394' found
-- Looking for linux/videodev.h
-- Looking for linux/videodev.h - not found
-- Looking for linux/videodev2.h
-- Looking for sys/videoio.h - not found
Checking for module 'libavresample'
-- No package 'libavresample' found
-- Checking for module 'libgphoto2'
-- No package 'libgphoto2' found CMake Error at cmake/OpenCVFindIPP.cmake:243 (include): include could not find load file:
Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off
-- Could NOT find Atlas (missing: Atlas_CLAPACK_INCLUDE_DIR)
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
- Could NOT find Matlab (missing: MATLAB_MEX_SCRIPT MATLAB_INCLUDE_DIRS MATLAB_ROOT_DIR MATLAB_LIBRARIES MATLAB_LIBRARY_DIRS MATLAB_MEXEXT MATLAB_ARCH MATLAB_BIN)
-- VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file
Нет, это не требует MATLAB. Можно пользоваться библиотекой от C++ и Python, и я думаю несколько других языков также. Я более волновался по поводу Атласа и BLAS быть недостающим. Это очень важные настроенные библиотеки линейной алгебры, которые делают вещи как Матричные Векторные произведения и Матричные факторизации и связанные операции.
я волновался, что Атлас, являющийся недостающим, заставит мой код отставать, если вообще. Так, я ввел по абсолютному адресу вокруг и нашел файл opencv/cmake/OpenCVFindAtlas.cmake. Там Вы будете видеть:
58 set(Atlas_INCLUDE_SEARCH_PATHS
59 /usr/include/atlas
60 /usr/include/atlas-base
61 /usr/include
62 $ENV{Atlas_ROOT_DIR}
63 $ENV{Atlas_ROOT_DIR}/include
64 )
65
66 set(Atlas_LIB_SEARCH_PATHS
67 /usr/lib/atlas
68 /usr/lib/atlas-base
69 $ENV{Atlas_ROOT_DIR}
70 $ENV{Atlas_ROOT_DIR}/lib
71 )
72
73 find_path(Atlas_CBLAS_INCLUDE_DIR NAMES cblas.h PATHS ${Atlas_INCLUDE_SEARCH_PATHS})
74 find_path(Atlas_CLAPACK_INCLUDE_DIR NAMES lapacke.h PATHS ${Atlas_INCLUDE_SEARCH_PATHS})
75
76 find_library(Atlas_CBLAS_LIBRARY NAMES ptcblas_r ptcblas cblas_r cblas PATHS ${Atlas_LIB_SEARCH_PATHS})
77 find_library(Atlas_BLAS_LIBRARY NAMES atlas_r atlas PATHS ${Atlas_LIB_SEARCH_PATHS})
78 find_library(Atlas_LAPACK_LIBRARY NAMES lapack alapack_r alapack lapack_atlas PATHS ${Atlas_LIB_SEARCH_PATHS})
Кроме Вас не будет иметь то, что я делаю на строке 61 - я добавил это. Я перешел к ВКЛЮЧЕНИЮ и путям поиска LIB и затем искал заголовки и библиотеки, которые оно искало. Я заметил, что мне не установили атлас или lapack. Таким образом, я установил lapack, как описано здесь . Я установил Атлас с
sudo apt-get install libatlas-base-dev
Затем, когда я перешел к/usr/include, я нашел каталог названным основой атласа. Внутри я нашел cblas.h. К сожалению, lapacke.h не был там. Это было в/usr/include. Так, добавил я/usr/include к Atlas_INCLUDE_SEARCH_PATHS. Затем для библиотек я просто проверил, что по крайней мере одно из перечисленных имен было в пути поиска lib. Просто отметьте, в случае, если Вы не знали, что библиотеки (lapack_atlas, например) будут перечислены с предыдущим 'lib'. Таким образом, lapack_atlas был бы liblapack_atlas.so.
Для разрешения всех других ошибок Вы видите, я ввел бы по абсолютному адресу вокруг, чтобы удостовериться, что пути установлены право. Но Вам не нужен MATLAB.