Я пытаюсь собрать 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?
спасибо