Skip to content

Qengineering/Install-OpenCV-Jetson-Nano

Repository files navigation

Install-OpenCV-Jetson-Nano

output image

OpenCV installation script for a Jetson (Orin) Nano

License

This is the full setup of OpenCV with CUDA and cuDNN support for the Jetson Nano.
The script will detect if you are working on a regular Nano, or with the new Orin Nano.
For more information see Q-engineering - Install OpenCV Jetson Nano


Installing OpenCV.

Your Nano's default memory (4 GB RAM + 2 GB swap) is not enough for a quick build.
In this case, the compilation will be done by 1 core, which will take a long time.
It would be best if you had more memory allocated to your Nano for the fast 4-core build.

# check your total memory (RAM + swap) for a fast build. You need at least a total of:
# OpenCV 4.13.0 -> 8.5 GB!
# OpenCV 4.12.0 -> 8.5 GB!
# OpenCV 4.11.0 -> 8.5 GB!
# OpenCV 4.10.0 -> 8.5 GB!
# OpenCV 4.9.0 -> 8.5 GB!
# OpenCV 4.8.0 -> 8.5 GB!
# OpenCV 4.7.0 -> 8.5 GB!
# OpenCV 4.6.0 -> 8.5 GB!
# OpenCV 4.5.5 -> 8.5 GB!
# OpenCV 4.5.4 -> 8.5 GB!
# OpenCV 4.5.3 -> 8.5 GB!
# OpenCV 4.5.2 -> 8.5 GB!
# OpenCV 4.5.1 -> 6.5 GB
# OpenCV 4.5.0 -> 6.5 GB
# If not, enlarge your swap space as explained in the guide, 
# or only 1 core is used for the compilation.
$ free -m

$ wget https://github.com/Qengineering/Install-OpenCV-Jetson-Nano/raw/main/OpenCV-4-10-0.sh
$ sudo chmod 755 ./OpenCV-4-10-0.sh
$ ./OpenCV-4-10-0.sh

👉 Don't forget to reset your swap memory afterwards.


If you want to beautify OpenCV with the Qt5 GUI, you need to

  • $ sudo apt-get install qt5-default
  • Set the -D WITH_QT=ON \ (± line 62) in the script

before running the script on your Nano


OpenCV will be installed in the /usr directory, all files will be copied to the following locations:

  • /usr/bin - executable files
  • /usr/lib/aarch64-linux-gnu - libraries (.so)
  • /usr/lib/aarch64-linux-gnu/cmake/opencv4 - cmake package
  • /usr/include/opencv4 - headers
  • /usr/share/opencv4 - other files (e.g. trained cascades in XML format)

⚠️ Note (NumPy 2.x users) If you encounter _ARRAY_API not found or “compiled against NumPy 1.x” errors with OpenCV:

  • Make sure only one NumPy version is installed (pip uninstall numpy -y && pip install numpy==2.x).
  • Use -D PYTHON3_NUMPY_INCLUDE_DIRS=$(python3 -c "import numpy; print(numpy.get_include())") in the CMake command.
  • Ensure pybind11>=2.13 before building.<br.
  • Or temporarily use numpy<2.0 until OpenCV 4.11.1 adds full NumPy 2.x C-API support.

paypal