This repository contains pre-built docker image for OpenCV CUDA. Ready to use with Python.
4.7K
OPENCV_VERSION | CUDA_VERSION | CUDA_COMPUTE | UBUNTU_VERSION | Image |
|---|---|---|---|---|
4.12.0 | 12.8.0 | 12.0 | 22.04 | 4.12.0-cuda12.8.0-arch12.0-ubuntu22.04 |
4.10.0 | 12.6.3 | 8.9 | 22.04 | 4.10.0-cuda12.6.3-arch8.9-ubuntu22.04 |
4.10.0 | 12.4.1 | 8.9 | 22.04 | 4.10.0-cuda12.4.1-arch8.9-ubuntu22.04 |
4.10.0 | 12.6.3 | 8.6 | 22.04 | 4.10.0-cuda12.6.3-arch8.6-ubuntu22.04 |
4.10.0 | 11.8.0 | 8.9 | 22.04 | 4.10.0-cuda11.8.0-arch8.9-ubuntu22.04 |
4.10.0 | 11.8.0 | 8.6 | 22.04 | 4.10.0-cuda11.8.0-arch8.6-ubuntu22.04 |
Pull: docker pull tuttelikz/opencv-cuda:{TAG}
Run: docker run -it --gpus all tuttelikz/opencv-cuda:{TAG}
==========
== CUDA ==
==========
CUDA Version 11.8.0
Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license
A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience.
Check OpenCV version
>>> import cv2
>>> cv2.__version__
'4.10.0'
Check GPU devices available to OpenCV
>>> import cv2
>>> count = cv2.cuda.getCudaEnabledDeviceCount()
>>> print(count)
1
OPENCV: 4.10.0 CUDA_VERSIO 12.6.3/11.8.0 CUDA_ARCH: 8.9/8.6 UBUNTU_VERSION: 22.04
Use this command line to build from scratch:
# For CUDA==12.6.3
docker build --build-arg OPENCV_VERSION=4.10.0 --build-arg CUDA_VERSION=12.6.3 --build-arg CUDA_ARCH=8.9 --build-arg UBUNTU_VERSION=22.04 -t {your-tag} .
# For CUDA==11.8.0, we need to add `CUDNN` argument:
docker build --build-arg OPENCV_VERSION=4.10.0 --build-arg CUDA_VERSION=11.8.0 --build-arg CUDA_ARCH=8.9 --build-arg UBUNTU_VERSION=22.04 --build-arg CUDNN=8 -t {your-tag} .
Dockerfile to build from scratch:
# Define the build arguments
ARG CUDA_VERSION=11.4.3
ARG UBUNTU_VERSION=20.04
ARG CUDNN=
FROM nvidia/cuda:${CUDA_VERSION}-cudnn${CUDNN}-devel-ubuntu${UBUNTU_VERSION}
# Set environment variables using build arguments
ARG OPENCV_VERSION=4.8.1
ARG CUDA_ARCH=8.9
ENV OPENCV_VERSION=$OPENCV_VERSION
ENV CUDA_ARCH=$CUDA_ARCH
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get upgrade -y &&\
# Install build tools, build dependencies and python
apt-get install -y \
python3-pip \
build-essential \
cmake \
git \
wget \
unzip \
yasm \
pkg-config \
libswscale-dev \
libtbb2 \
libtbb-dev \
libjpeg-dev \
libpng-dev \
libtiff-dev \
libavformat-dev \
libpq-dev \
libxine2-dev \
libglew-dev \
libtiff5-dev \
zlib1g-dev \
libjpeg-dev \
libavcodec-dev \
libavformat-dev \
libavutil-dev \
libpostproc-dev \
libswscale-dev \
libeigen3-dev \
libtbb-dev \
libgtk2.0-dev \
pkg-config \
python3-dev \
python3-numpy \
&& rm -rf /var/lib/apt/lists/*
RUN cd /opt/ &&\
# Download and unzip OpenCV and opencv_contrib and delte zip files
wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip &&\
unzip ${OPENCV_VERSION}.zip &&\
rm ${OPENCV_VERSION}.zip &&\
wget https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip &&\
unzip ${OPENCV_VERSION}.zip &&\
rm ${OPENCV_VERSION}.zip &&\
# Create build folder and switch to it
mkdir /opt/opencv-${OPENCV_VERSION}/build && cd /opt/opencv-${OPENCV_VERSION}/build &&\
# Cmake configure
cmake \
-DOPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib-${OPENCV_VERSION}/modules \
-DWITH_CUDA=ON \
-DCUDA_ARCH_BIN=${CUDA_ARCH} \
-DCMAKE_BUILD_TYPE=RELEASE \
# Install path will be /usr/local/lib (lib is implicit)
-DCMAKE_INSTALL_PREFIX=/usr/local \
.. &&\
# Make
make -j $(nproc --all) && \
make install && \
ldconfig &&\
rm -rf /opt/opencv-${OPENCV_VERSION} && rm -rf /opt/opencv_contrib-${OPENCV_VERSION}
RUN apt-get update && apt-get upgrade -y &&\
apt-get install -y \
libvips \
libvips-dev \
vim
RUN apt-get update
RUN pip install --upgrade pip
Content type
Image
Digest
sha256:db5d08335…
Size
5.1 GB
Last updated
9 months ago
docker pull tuttelikz/opencv-cuda:4.10.0-cuda12.4.1-arch8.9-ubuntu22.04