Hi,
I’m using Jetson nano, and tried to install OpenCV4.6.0 with CUDA ON.
From JEP/script/install_opencv4.6.0_Jetson.sh at master · AastaNV/JEP · GitHub , I have downloaded “install_opencv4.6.0_Jetson.sh”.
#!/bin/bash
Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
NVIDIA Corporation and its licensors retain all intellectual property
and proprietary rights in and to this software, related documentation
and any modifications thereto. Any use, reproduction, disclosure or
distribution of this software and related documentation without an express
license agreement from NVIDIA Corporation is strictly prohibited.
version=“4.6.0”
folder=“workspace”
set -e
for (( ; ; ))
do
echo “Do you want to remove the default OpenCV (yes/no)?”
read rm_old
if [ "$rm_old" = "yes" ]; then
echo "** Remove other OpenCV first"
sudo apt -y purge *libopencv*
break
elif [ "$rm_old" = "no" ]; then
break
fi
done
echo “------------------------------------”
echo “** Install requirement (1/4)”
echo “------------------------------------”
sudo apt-get update
sudo apt-get install -y build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y python3.8-dev python-dev python-numpy python3-numpy
sudo apt-get install -y libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
sudo apt-get install -y libv4l-dev v4l-utils qv4l2 v4l2ucp
sudo apt-get install -y curl
echo “------------------------------------”
echo “** Download opencv “${version}” (2/4)”
echo “------------------------------------”
mkdir $folder
cd ${folder}
curl -L https://github.com/opencv/opencv/archive/${version}.zip -o opencv-${version}.zip
curl -L https://github.com/opencv/opencv_contrib/archive/${version}.zip -o opencv_contrib-${version}.zip
unzip opencv-${version}.zip
unzip opencv_contrib-${version}.zip
rm opencv-${version}.zip opencv_contrib-${version}.zip
cd opencv-${version}/
echo “------------------------------------”
echo “** Build opencv “${version}” (3/4)”
echo “------------------------------------”
mkdir release
cd release/
cmake -D WITH_CUDA=ON -D WITH_CUDNN=ON -D CUDA_ARCH_BIN=“5.3” -D CUDA_ARCH_PTX=“” -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=…/…/opencv_contrib-${version}/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python3=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local …
make -j$(nproc)
echo “------------------------------------”
echo “** Install opencv “${version}” (4/4)”
echo “------------------------------------”
sudo make install
echo ‘export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH’ >> ~/.bashrc
echo ‘export PYTHONPATH=/usr/local/lib/python3.8/site-packages/:$PYTHONPATH’ >> ~/.bashrc
source ~/.bashrc
echo “** Install opencv “${version}” successfully”
echo “** Bye :)”
I had modified only one point → CUDA_ARCH_BIN=“5.3”, and compile has finished.
I want to use openCV with python3.8, but not succeed.
~$ python3.8
Python 3.8.0 (default, Dec 9 2021, 17:53:27)
import cv2
ModuleNotFoundError: No module named ‘cv2’
~$ python3
Python 3.6.9 (default, Mar 10 2023, 16:46:00)
import cv2
ModuleNotFoundError: No module named ‘cv2’
~$ python2
Python 2.7.17 (default, Mar 8 2023, 18:40:28)
import cv2
a=1
b=2
a+b
3
It seems like OpenCV4.6.0 is linked with Python2.7, not Python3.8.
Q1: Is ther any way to link Python3.8 to OpenCV ?
Q2: If it is not possible, should I need to modify “install_opencv4.6.0_Jetson.sh” and try compile again ? (nightmare…)
Thanks for your great help in advance.