Instale o registro de poço fechado opencv_contrib-3.2.0 no ubuntu18.04

Devido ao uso recente da extração de recursos SIFT e SURF no OpenCV3, desde que o OpenCV2 foi atualizado para o OpenCV3, esses algoritmos como SIFT e SURF foram removidos da biblioteca padrão do projeto opencv e colocados na biblioteca do projeto chamada opencv_contrib. Portanto, você precisa baixar manualmente o código-fonte de opencv e opencv_contrib e, em seguida, juntar os dois códigos-fonte para compilar e instalar manualmente.

Como meu computador está executando o ubuntu18.04 em uma máquina virtual VMware, e o ROS-melodic está instalado no ubuntu18.04, a versão opencv-3.2.0 é instalada por padrão após a instalação do ROS-melodic. Portanto, para ser consistente com a versão opencv-3.2.0 que vem com o ROS-melodic, baixei o código-fonte opencv-3.2.0 e opencv_contrib-3.2.0, compilado e instalado manualmente, para cobrir o built-in ROS-melodic A versão opencv-3.2.0. Abaixo listei meu ambiente:

  • máquina virtual VMware
  • grátis18.04
  • opencv-3.2.0
  • opencv_contrib-3.2.0

1. Baixe o código-fonte opencv-3.2.0 e opencv_contrib-3.2.0

Basta ir ao github para fazer o download, o endereço de download é o seguinte:

Após o download, descompacte esses dois arquivos na mesma pasta ao mesmo tempo, descompacto em uma pasta como opencv_install, conforme a figura abaixo.

2. Instale as dependências relacionadas

Antes de compilar e instalar o código-fonte opencv, você precisa primeiro instalar a biblioteca de dependências relevante. O comando de instalação é o seguinte:

sudo apt-get install build-essential  
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

Um erro será relatado quando o comando acima for executado. O erro diz que o libjaster-dev não pode ser instalado. A solução é a seguinte:

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" 
sudo apt update 
sudo apt install libjasper1 libjasper-dev

3. Configure os parâmetros de compilação opencv com a ferramenta cmake-gui

(1) Instale a ferramenta cmake-gui

Antes de compilar oficialmente o código-fonte do opencv, você precisa definir os parâmetros do CMake no opencv. É recomendável usar a ferramenta cmake-gui para configurar. Primeiro instale a ferramenta cmake-gui, o seguinte comando:

sudo apt-get install cmake-gui

(2) Defina os parâmetros do cmake

Abra o terminal e digite o seguinte comando para iniciar a ferramenta cmake-gui:

cmake-gui

Na interface aberta, defina o caminho do opencv-3.2.0 na coluna de where is the source code, e o path de opencv-3.2.0/build na coluna de where to build os binários, conforme a figura abaixo.

Em seguida, clique no botão Configurar para configurar. Um erro será relatado durante o processo de configuração. O erro diz que há falta de vgg_generated_48.i. A solução é baixar diretamente o arquivo vgg_generated_48.i da Internet. O endereço de download é o seguinte:

https://download.csdn.net/download/u013085286/10309843

Depois de baixar vgg_generated_48.i, copie este arquivo para o caminho indicado no relatório de erro. Pegue meu caminho como exemplo, copie-o com o seguinte comando:

cp vgg_generated_48.i /home/ubuntu1804/Downloads/opencv_install/opencv_contrib-3.2.0/modules/xfeatures2d/cmake/.download/e8d0dcd54d1bcfdc29203d011a797179/vgg_generated_48.i

O e8d0dcd54d1bcfdc29203d011a797179 no caminho no comando acima deve prevalecer de acordo com sua mensagem de erro real. Para erros semelhantes de falta desses arquivos, vá para a Internet para baixar os arquivos correspondentes e resolva-os da mesma maneira. Depois de concluir esses arquivos, clique em Configurar novamente

(3) Defina os parâmetros de compilação do cmake

Na interface, defina os valores dos seguintes parâmetros. Os parâmetros e valores específicos são os seguintes: O valor do parâmetro CMAKE_BUILD_TYPE é Release, conforme mostrado na figura abaixo.

 O valor do parâmetro OPENCV_EXTRA_MODULES_PATH é /home/ubuntu1804/Downloads/opencv_contrib-3.2.0/modules, e as primeiras pastas deste caminho são substituídas pelo seu caminho real, conforme mostrado na figura abaixo.

 O parâmetro CMAKE_INSTALL_PREFIX assume o valor /usr/local, conforme a figura abaixo.

 É necessário mencionar aqui que o valor do parâmetro ENABLE_PRECOMPILED_HEADERS precisa ser definido como OFF. Se este parâmetro não estiver desativado, um erro será relatado posteriormente ao compilar /usr/include/c++/7/cstdlib:75:15:erro fatal:stdlib.h:No such file or direct.

 

Depois que os parâmetros de compilação acima forem definidos, você pode clicar no botão Gerar para gerar o makefile.

4. Compile e instale o opencv

Mude para o diretório opencv-3.2.0/build, compile e instale com make e make install.

cd ~/Downloads/opencv_install/opencv-3.2.0/build/ 
make 
sudo make install

Ao executar o comando acima e ver 100%, parabéns! Instalação bem sucedida!

referências

[1] Zhang Hu, Robot SLAM Navigation Core Technology and Practice [M]. Machinery Industry Press, 2022.

Acho que você gosta

Origin blog.csdn.net/m0_68732180/article/details/130253703
Recomendado
Clasificación