как собрать opencv-python3 на nvidia-jetson tx2 из исходного кода? - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь собрать OpenCV-3.4.4 для Python3.5 из исходного кода на Nvidia-Jetson TX2, Ubuntu 16.04.

Теперь все процессы cmake, make и make install работали хорошо, но в Python3 он все еще не работал, когда import cv2. Где мне нужно починить?

В opencv-3.4.4, mkdir build & cd build, а затем

cmake \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=$(python3 -c "import sys; print(sys.prefix)") \
-D PYTHON_EXECUTABLE=$(which python3) \
-D PYTHON3_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
-D PYTHON3_PACKAGES_PATH=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
-D BUILD_PNG=OFF -DBUILD_TIFF=OFF -DBUILD_TBB=OFF -DBUILD_JPEG=OFF \
-D BUILD_JASPER=OFF \
-D BUILD_ZLIB=OFF \
-D BUILD_EXAMPLES=OFF \
-D BUILD_opencv_java=OFF \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D WITH_OPENCL=OFF \
-D WITH_OPENMP=OFF \
-D WITH_FFMPEG=ON \
-D WITH_GSTREAMER=OFF \
-D WITH_GSTREAMER_0_10=OFF 
-D WITH_CUDA=ON -DWITH_GTK=ON \
-D WITH_VTK=OFF \
-D WITH_TBB=ON \
-D WITH_1394=OFF \
-D WITH_OPENEXR=OFF \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-9.0 \
-D CUDA_ARCH_BIN=6.2 \
-D CUDA_ARCH_PTX="" \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_TESTS=OFF \
-D OPENCV_TEST_DATA_PATH="" \
..

Он успешно компилируется с целями сборки, такими как

...
[ 99%] Built target opencv_test_superres
[100%] Built target opencv_videostab
[100%] Built target opencv_test_videostab
[100%] Built target opencv_python3

Затем make -j$(nproc --all) и sudo make install, все еще без ошибок, цели следующим образом,

...
[ 99%] Built target gen_opencv_python_source
[ 99%] Built target opencv_python3
[100%] Built target opencv_traincascade
[100%] Built target opencv_createsamples
[100%] Built target opencv_annotation
[100%] Built target opencv_visualisation
[100%] Built target opencv_interactive-calibration
[100%] Built target opencv_version
Install the project...

opencv_python3 действительно находится в списке построенных целей, но в python3, import cv2 не удалось, сказав ImportError: No module named 'cv2'.

Я проверил библиотеку импорта /usr/lib/python3/dist-packages, без cv2.so.

Где проблема? Я пропустил некоторые опции cmake?

спасибо

...