Erros na instalação do OpenCV. Isso requer o MATLAB?

0

Estou tentando instalar o OpenCV 3.0 no meu Ubuntu 16.04 (Xenial Xerus), mas sempre recebo os seguintes erros. O teste também verifica o MATLAB. O OpenCV requer o 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
    
por Sean 27.12.2016 / 00:24

1 resposta

2

Não, não requer o MATLAB. Você pode usar a biblioteca do C ++ e Python e eu acho que alguns outros idiomas também. Eu estava mais preocupado com o desaparecimento do Atlas e do BLAS. Essas são bibliotecas de álgebra linear ajustadas muito importantes que fazem coisas como produtos Matrix-Vector e fatorações de matrizes e operações relacionadas.

Eu estava preocupado que a falta do Atlas fizesse meu código ficar lento, se é que o fazia. Então, eu procurei o arquivo opencv / cmake / OpenCVFindAtlas.cmake. Você verá:

 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})

Exceto você não terá o que eu faço na linha 61 - eu adicionei isso. Fui para os caminhos de pesquisa INCLUDE e LIB e procurei pelos cabeçalhos e bibliotecas que estava procurando. Percebi que não tinha o atlas nem o lapack instalados. Então eu instalei o lapack como descrito aqui . O eu instalei o Atlas com

sudo apt-get install libatlas-base-dev

Então, quando fui para o / usr / include, encontrei um diretório chamado atlas-base. Dentro eu encontrei cblas.h. Infelizmente, lapacke.h não estava lá. Isso foi em / usr / include. Então, adicionei / usr / include ao Atlas_INCLUDE_SEARCH_PATHS. Então, para as bibliotecas, verifiquei que pelo menos um dos nomes listados estava no caminho de pesquisa do lib. Apenas observe, caso você não saiba, que bibliotecas (lapack_atlas, por exemplo) serão listadas com um 'lib' precedente. Então lapack_atlas seria liblapack_atlas.so.

Para resolver todos os outros erros que você vê, gostaria de verificar se os caminhos estão definidos corretamente. Mas você não precisa do MATLAB.

    
por Julian Cienfuegos 15.02.2017 / 03:15