Placa de desenvolvimento Linux, ao compilar opencv, adicione suporte python

1. Introdução

  1. Este blog é uma continuação do blog anterior sobre compilação cruzada de harfbuzz, freetype, opencv (incluindo WITH_QT) no Ubuntu e portabilidade para a placa de desenvolvimento Linux . Ao compilar o opencv antes, o suporte a python não foi adicionado, mas a versão c++ do opencv foi compilada de forma cruzada.
  2. Para compilação cruzada python da placa de desenvolvimento arm-linux, consulte o blog: No ubuntu, baseado na plataforma Qt, chame o arquivo python e faça a compilação cruzada na placa de desenvolvimento linux incorporada para execução .
  3. Porque opencv suportado por python requer a biblioteca numpy. Para compilar cruzadamente a biblioteca de terceiros python numpy, você pode consultar o blog: Embedded Linux Development Board, compilar cruzadamente a biblioteca de terceiros python numpy por meio de crossenv .

2. Processo de compilação

  1. Primeiro adicione BUILD_opencv_python3.

Insira a descrição da imagem aqui

  1. Em seguida, adicione o caminho relevante do python compilado cruzadamente no cmake. A versão python que compilei aqui é python3.6. Preste atenção ao excluir os caminhos relacionados do python2 que vem com o cmake.

Insira a descrição da imagem aqui

  1. Clique no botão Configurar.

Insira a descrição da imagem aqui

Há um problema aqui : as bibliotecas e o caminho de instalação do python não são reconhecidos.

  1. Encontre o motivo lendo CMakeLists.txt de python3 em opencv:
cd  /home/book/opencvarm/opencv-4.5.5/modules/python/python3
vi CMakeLists.txt

Insira a descrição da imagem aqui

Nota : Em vez de usar PYTHON3_INCLUDE_DIR para adicionar o caminho de inclusão python3 , você deve usar PYTHON3 INCLUDE PATH . Então adicione PYTHON3 INCLUDE PATH.

Insira a descrição da imagem aqui

  1. E para a biblioteca do python3
cd /home/book/opencvarm/opencv-4.5.5/modules/python
vi common.cmake

Insira a descrição da imagem aqui

Você pode ver que PYTHON3 LIBRARIES deve ser usado em vez de PYTHON3 LIBRARY . Então adicione BIBLIOTECAS PYTHON3.

  1. Configure novamente e o reconhecimento será bem-sucedido.

Insira a descrição da imagem aqui

  1. Além disso, o erro /home/book/arm-python/bin/python3.6m: Exec format error aparecerá durante make . Como o arquivo executável /bin/python3 aqui é da arquitetura arm, mas estamos operando no Ubuntu, ele deve ser substituído pelo arquivo executável python3 da arquitetura x86_64. Então basta alterá-lo para o arquivo executável python3 no seu Ubuntu. Para encontrar o caminho python3, use o comando: which python3.

  2. resultado

cd /home/book/opencvarm/opencv-4.5.5/tmp/lib/python3.6/site-packages/cv2/python-3.6

Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/m0_43443861/article/details/128637170
Recomendado
Clasificación