Placa de desarrollo de Linux, al realizar una compilación cruzada de opencv, agregue soporte para Python

1. Introducción

  1. Este blog es una continuación del blog anterior sobre la compilación cruzada de harfbuzz, freetype, opencv (incluido CON_QT) en Ubuntu y su portabilidad a la placa de desarrollo de Linux . Al realizar una compilación cruzada de opencv antes, no se agregó compatibilidad con Python, pero la versión c ++ de opencv se compiló de forma cruzada.
  2. Para la compilación cruzada de Python de la placa de desarrollo arm-linux, consulte el blog: En ubuntu, basado en la plataforma Qt, llame al archivo python y compílelo en la placa de desarrollo de Linux incorporada para ejecutarlo .
  3. Porque opencv compatible con Python requiere la biblioteca numpy. Para realizar una compilación cruzada de la biblioteca de terceros de Python numpy, puede consultar el blog: Placa de desarrollo de Linux integrada, realice una compilación cruzada de la biblioteca de terceros de Python numpy a través de crossenv .

2. Proceso de compilación

  1. Primero agregue BUILD_opencv_python3.

Insertar descripción de la imagen aquí

  1. Luego agregue la ruta relevante del Python compilado de forma cruzada en cmake. La versión de Python que compilé aquí es python3.6. Preste atención a eliminar las rutas relacionadas de python2 que vienen con cmake.

Insertar descripción de la imagen aquí

  1. Haga clic en el botón Configurar.

Insertar descripción de la imagen aquí

Hay un problema aquí : las bibliotecas de Python y la ruta de instalación no se reconocen.

  1. Encuentre el motivo leyendo CMakeLists.txt de python3 en opencv:
cd  /home/book/opencvarm/opencv-4.5.5/modules/python/python3
vi CMakeLists.txt

Insertar descripción de la imagen aquí

Nota : En lugar de usar PYTHON3_INCLUDE_DIR para agregar la ruta de inclusión de python3 , debe usar PYTHON3 INCLUDE PATH . Entonces agregue PYTHON3 INCLUDE PATH.

Insertar descripción de la imagen aquí

  1. Y para la biblioteca de python3
cd /home/book/opencvarm/opencv-4.5.5/modules/python
vi common.cmake

Insertar descripción de la imagen aquí

Puede ver que se deben usar PYTHON3 LIBRARIES en lugar de PYTHON3 LIBRARY . Entonces agregue BIBLIOTECAS PYTHON3.

  1. Configure nuevamente y el reconocimiento será exitoso.

Insertar descripción de la imagen aquí

  1. Además, el error /home/book/arm-python/bin/python3.6m: Exec format error aparecerá durante make . Debido a que el archivo ejecutable /bin/python3 aquí es de arquitectura arm, pero estamos operando en ubuntu, debe reemplazarse por el archivo ejecutable python3 de arquitectura x86_64. Entonces simplemente cámbielo al archivo ejecutable python3 en su ubuntu. Para encontrar la ruta de Python3, use el comando: which python3.

  2. resultado

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

Insertar descripción de la imagen aquí

Supongo que te gusta

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