├── test.py ├── Makefile ├── .github └── workflows │ └── build.yml ├── Dockerfile.fedora ├── Dockerfile.ubuntu ├── Dockerfile.debian ├── Dockerfile.alpine └── readme.md /test.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | 3 | print(cv2.__version__) -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: run build login push latest test save 2 | 3 | CV ?= 5.0.0-alpha 4 | DIST ?= fedora 5 | WORKDIR=/mnt/$$(basename $$(pwd)) 6 | ORG=hdgigante 7 | REPO=python-opencv 8 | TARGET_REPO=$(ORG)/$(REPO) 9 | TARGET_IMAGE=$(TARGET_REPO):$(CV)-$(DIST) 10 | 11 | run: build test login push 12 | 13 | build: 14 | @docker build . --build-arg OPENCV_VERSION=$(CV) -t $(TARGET_IMAGE) -f Dockerfile.$(DIST) 15 | 16 | push: 17 | @docker push $(TARGET_IMAGE) 18 | 19 | latest: 20 | @docker pull $(TARGET_IMAGE) 21 | @docker tag $(TARGET_IMAGE) $(TARGET_REPO):latest 22 | @docker push $(TARGET_REPO):latest 23 | 24 | test: 25 | @docker run --rm -v $$(pwd):$(WORKDIR) -w $(WORKDIR) $(TARGET_IMAGE) python3 test.py 26 | 27 | save: 28 | @docker save $(TARGET_IMAGE) | gzip > $(ORG)_$(REPO)_$(CV)-$(DIST).tar.gz 29 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | strategy: 11 | matrix: 12 | version: [5.0.0-alpha, 4.12.0, 4.11.0] 13 | dist: ["alpine", "debian", "fedora", "ubuntu"] 14 | steps: 15 | - uses: actions/checkout@v2 16 | - uses: docker/login-action@v1 17 | with: 18 | username: ${{ secrets.DOCKERHUB_USERNAME }} 19 | password: ${{ secrets.DOCKERHUB_TOKEN }} 20 | - name: Build 21 | run: make build CV=${{ matrix.version }} DIST=${{ matrix.dist }} 22 | - name: Test 23 | run: make test CV=${{ matrix.version }} DIST=${{ matrix.dist }} 24 | - name: Push 25 | run: make push CV=${{ matrix.version }} DIST=${{ matrix.dist }} 26 | latest: 27 | needs: build 28 | runs-on: ubuntu-latest 29 | steps: 30 | - uses: actions/checkout@v2 31 | - uses: docker/login-action@v1 32 | with: 33 | username: ${{ secrets.DOCKERHUB_USERNAME }} 34 | password: ${{ secrets.DOCKERHUB_TOKEN }} 35 | - name: Latest 36 | run: make latest CV=5.0.0-alpha DIST=fedora 37 | -------------------------------------------------------------------------------- /Dockerfile.fedora: -------------------------------------------------------------------------------- 1 | FROM fedora:43 2 | 3 | ARG OPENCV_VERSION 4 | 5 | WORKDIR /opt/build 6 | 7 | RUN set -ex \ 8 | && dnf -q install -y \ 9 | gcc gcc-c++ \ 10 | make cmake \ 11 | wget unzip \ 12 | hdf5 \ 13 | libjpeg-turbo libjpeg-turbo-devel \ 14 | libpng libpng-devel \ 15 | libtiff libtiff-devel \ 16 | libwebp libwebp-devel \ 17 | openjpeg2 openjpeg2-devel \ 18 | tbb tbb-devel \ 19 | eigen3 \ 20 | openblas openblas-devel \ 21 | protobuf protobuf-devel \ 22 | tesseract tesseract-langpack-por tesseract-devel \ 23 | python3-pip python3-numpy python3-devel \ 24 | kernel-headers \ 25 | && wget -q https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip -O opencv.zip \ 26 | && wget -q https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip -O opencv_contrib.zip \ 27 | && unzip -qq opencv.zip -d /opt && rm -rf opencv.zip \ 28 | && unzip -qq opencv_contrib.zip -d /opt && rm -rf opencv_contrib.zip \ 29 | && cmake \ 30 | -D CMAKE_BUILD_TYPE=RELEASE \ 31 | -D CMAKE_INSTALL_PREFIX=/usr \ 32 | -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib-${OPENCV_VERSION}/modules \ 33 | -D EIGEN_INCLUDE_PATH=/usr/include/eigen3 \ 34 | -D OPENCV_ENABLE_NONFREE=ON \ 35 | -D WITH_JPEG=ON \ 36 | -D WITH_PNG=ON \ 37 | -D WITH_TIFF=ON \ 38 | -D WITH_WEBP=ON \ 39 | -D WITH_JASPER=ON \ 40 | -D WITH_EIGEN=ON \ 41 | -D WITH_TBB=ON \ 42 | -D WITH_LAPACK=ON \ 43 | -D WITH_PROTOBUF=ON \ 44 | -D WITH_V4L=OFF \ 45 | -D WITH_GSTREAMER=OFF \ 46 | -D WITH_GTK=OFF \ 47 | -D WITH_QT=OFF \ 48 | -D WITH_CUDA=OFF \ 49 | -D WITH_VTK=OFF \ 50 | -D WITH_OPENEXR=OFF \ 51 | -D WITH_FFMPEG=OFF \ 52 | -D WITH_OPENCL=OFF \ 53 | -D WITH_OPENNI=OFF \ 54 | -D WITH_XINE=OFF \ 55 | -D WITH_GDAL=OFF \ 56 | -D WITH_IPP=OFF \ 57 | -D BUILD_OPENCV_PYTHON3=ON \ 58 | -D BUILD_OPENCV_PYTHON2=OFF \ 59 | -D BUILD_OPENCV_JAVA=OFF \ 60 | -D BUILD_TESTS=OFF \ 61 | -D BUILD_IPP_IW=OFF \ 62 | -D BUILD_PERF_TESTS=OFF \ 63 | -D BUILD_EXAMPLES=OFF \ 64 | -D BUILD_ANDROID_EXAMPLES=OFF \ 65 | -D BUILD_DOCS=OFF \ 66 | -D BUILD_ITT=OFF \ 67 | -D INSTALL_PYTHON_EXAMPLES=OFF \ 68 | -D INSTALL_C_EXAMPLES=OFF \ 69 | -D INSTALL_TESTS=OFF \ 70 | /opt/opencv-${OPENCV_VERSION} \ 71 | && make -j$(nproc) \ 72 | && make install \ 73 | && rm -rf /opt/build/* \ 74 | && rm -rf /opt/opencv-${OPENCV_VERSION} \ 75 | && rm -rf /opt/opencv_contrib-${OPENCV_VERSION} \ 76 | && dnf -q remove -y \ 77 | gcc gcc-c++ \ 78 | make cmake \ 79 | libjpeg-turbo-devel \ 80 | libpng-devel \ 81 | libtiff-devel \ 82 | libwebp-devel \ 83 | openjpeg2-devel \ 84 | tbb-devel \ 85 | protobuf-devel \ 86 | tesseract-devel \ 87 | python3-devel \ 88 | kernel-headers \ 89 | && dnf -q clean all 90 | -------------------------------------------------------------------------------- /Dockerfile.ubuntu: -------------------------------------------------------------------------------- 1 | FROM ubuntu:25.10 2 | 3 | ARG OPENCV_VERSION 4 | ARG DEBIAN_FRONTEND=noninteractive 5 | 6 | WORKDIR /opt/build 7 | 8 | RUN set -ex \ 9 | && apt-get -qq update \ 10 | && apt-get install -y --no-install-recommends \ 11 | build-essential cmake \ 12 | wget unzip \ 13 | libhdf5-310 libhdf5-dev \ 14 | libopenblas0 libopenblas-dev \ 15 | libprotobuf32 libprotobuf-dev \ 16 | libjpeg8 libjpeg8-dev \ 17 | libpng16-16 libpng-dev \ 18 | libtiff6 libtiff-dev \ 19 | libwebp7 libwebp-dev \ 20 | libopenjp2-7 libopenjp2-7-dev \ 21 | libtbb12 libtbb-dev \ 22 | libeigen3-dev \ 23 | tesseract-ocr tesseract-ocr-por libtesseract-dev \ 24 | python3 python3-pip python3-numpy python3-dev \ 25 | && wget -q --no-check-certificate https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip -O opencv.zip \ 26 | && wget -q --no-check-certificate https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip -O opencv_contrib.zip \ 27 | && unzip -qq opencv.zip -d /opt && rm -rf opencv.zip \ 28 | && unzip -qq opencv_contrib.zip -d /opt && rm -rf opencv_contrib.zip \ 29 | && cmake \ 30 | -D CMAKE_BUILD_TYPE=RELEASE \ 31 | -D CMAKE_INSTALL_PREFIX=/usr/local \ 32 | -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib-${OPENCV_VERSION}/modules \ 33 | -D EIGEN_INCLUDE_PATH=/usr/include/eigen3 \ 34 | -D OPENCV_ENABLE_NONFREE=ON \ 35 | -D WITH_JPEG=ON \ 36 | -D WITH_PNG=ON \ 37 | -D WITH_TIFF=ON \ 38 | -D WITH_WEBP=ON \ 39 | -D WITH_JASPER=ON \ 40 | -D WITH_EIGEN=ON \ 41 | -D WITH_TBB=ON \ 42 | -D WITH_LAPACK=ON \ 43 | -D WITH_PROTOBUF=ON \ 44 | -D WITH_V4L=OFF \ 45 | -D WITH_GSTREAMER=OFF \ 46 | -D WITH_GTK=OFF \ 47 | -D WITH_QT=OFF \ 48 | -D WITH_CUDA=OFF \ 49 | -D WITH_VTK=OFF \ 50 | -D WITH_OPENEXR=OFF \ 51 | -D WITH_FFMPEG=OFF \ 52 | -D WITH_OPENCL=OFF \ 53 | -D WITH_OPENNI=OFF \ 54 | -D WITH_XINE=OFF \ 55 | -D WITH_GDAL=OFF \ 56 | -D WITH_IPP=OFF \ 57 | -D BUILD_OPENCV_PYTHON3=ON \ 58 | -D BUILD_OPENCV_PYTHON2=OFF \ 59 | -D BUILD_OPENCV_JAVA=OFF \ 60 | -D BUILD_TESTS=OFF \ 61 | -D BUILD_IPP_IW=OFF \ 62 | -D BUILD_PERF_TESTS=OFF \ 63 | -D BUILD_EXAMPLES=OFF \ 64 | -D BUILD_ANDROID_EXAMPLES=OFF \ 65 | -D BUILD_DOCS=OFF \ 66 | -D BUILD_ITT=OFF \ 67 | -D INSTALL_PYTHON_EXAMPLES=OFF \ 68 | -D INSTALL_C_EXAMPLES=OFF \ 69 | -D INSTALL_TESTS=OFF \ 70 | /opt/opencv-${OPENCV_VERSION} \ 71 | && make -j$(nproc) \ 72 | && make install \ 73 | && rm -rf /opt/build/* \ 74 | && rm -rf /opt/opencv-${OPENCV_VERSION} \ 75 | && rm -rf /opt/opencv_contrib-${OPENCV_VERSION} \ 76 | && apt-get -qq remove -y \ 77 | software-properties-common \ 78 | build-essential cmake \ 79 | libhdf5-dev \ 80 | libprotobuf-dev \ 81 | libjpeg9-dev \ 82 | libpng-dev \ 83 | libtiff-dev \ 84 | libopenjp2-7-dev \ 85 | libtbb-dev \ 86 | libtesseract-dev \ 87 | python3-dev \ 88 | && apt-get -qq autoremove \ 89 | && apt-get -qq clean 90 | -------------------------------------------------------------------------------- /Dockerfile.debian: -------------------------------------------------------------------------------- 1 | FROM debian:12.12-slim 2 | 3 | ARG OPENCV_VERSION 4 | ARG DEBIAN_FRONTEND=noninteractive 5 | 6 | WORKDIR /opt/build 7 | 8 | RUN set -ex \ 9 | && apt-get -qq update \ 10 | && apt-get -qq install -y --no-install-recommends \ 11 | build-essential cmake \ 12 | wget unzip \ 13 | libhdf5-103-1 libhdf5-dev \ 14 | libopenblas0 libopenblas-dev \ 15 | libprotobuf32 libprotobuf-dev \ 16 | libjpeg62-turbo libjpeg62-turbo-dev \ 17 | libpng16-16 libpng-dev \ 18 | libtiff6 libtiff-dev \ 19 | libwebp7 libwebp-dev \ 20 | libopenjp2-7 libopenjp2-7-dev \ 21 | libtbb12 libtbb-dev \ 22 | libeigen3-dev \ 23 | tesseract-ocr tesseract-ocr-por libtesseract-dev \ 24 | python3 python3-pip python3-numpy python3-dev \ 25 | && wget -q --no-check-certificate https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip -O opencv.zip \ 26 | && wget -q --no-check-certificate https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip -O opencv_contrib.zip \ 27 | && unzip -qq opencv.zip -d /opt && rm -rf opencv.zip \ 28 | && unzip -qq opencv_contrib.zip -d /opt && rm -rf opencv_contrib.zip \ 29 | && cmake \ 30 | -D CMAKE_BUILD_TYPE=RELEASE \ 31 | -D CMAKE_INSTALL_PREFIX=/usr/local \ 32 | -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib-${OPENCV_VERSION}/modules \ 33 | -D EIGEN_INCLUDE_PATH=/usr/include/eigen3 \ 34 | -D OPENCV_ENABLE_NONFREE=ON \ 35 | -D WITH_JPEG=ON \ 36 | -D WITH_PNG=ON \ 37 | -D WITH_TIFF=ON \ 38 | -D WITH_WEBP=ON \ 39 | -D WITH_JASPER=ON \ 40 | -D WITH_EIGEN=ON \ 41 | -D WITH_TBB=ON \ 42 | -D WITH_LAPACK=ON \ 43 | -D WITH_PROTOBUF=ON \ 44 | -D WITH_V4L=OFF \ 45 | -D WITH_GSTREAMER=OFF \ 46 | -D WITH_GTK=OFF \ 47 | -D WITH_QT=OFF \ 48 | -D WITH_CUDA=OFF \ 49 | -D WITH_VTK=OFF \ 50 | -D WITH_OPENEXR=OFF \ 51 | -D WITH_FFMPEG=OFF \ 52 | -D WITH_OPENCL=OFF \ 53 | -D WITH_OPENNI=OFF \ 54 | -D WITH_XINE=OFF \ 55 | -D WITH_GDAL=OFF \ 56 | -D WITH_IPP=OFF \ 57 | -D BUILD_OPENCV_PYTHON3=ON \ 58 | -D BUILD_OPENCV_PYTHON2=OFF \ 59 | -D BUILD_OPENCV_JAVA=OFF \ 60 | -D BUILD_TESTS=OFF \ 61 | -D BUILD_IPP_IW=OFF \ 62 | -D BUILD_PERF_TESTS=OFF \ 63 | -D BUILD_EXAMPLES=OFF \ 64 | -D BUILD_ANDROID_EXAMPLES=OFF \ 65 | -D BUILD_DOCS=OFF \ 66 | -D BUILD_ITT=OFF \ 67 | -D INSTALL_PYTHON_EXAMPLES=OFF \ 68 | -D INSTALL_C_EXAMPLES=OFF \ 69 | -D INSTALL_TESTS=OFF \ 70 | /opt/opencv-${OPENCV_VERSION} \ 71 | && make -j$(nproc) \ 72 | && make install \ 73 | && rm -rf /opt/build/* \ 74 | && rm -rf /opt/opencv-${OPENCV_VERSION} \ 75 | && rm -rf /opt/opencv_contrib-${OPENCV_VERSION} \ 76 | && apt-get -qq remove -y \ 77 | software-properties-common \ 78 | build-essential cmake \ 79 | libhdf5-dev \ 80 | libprotobuf-dev \ 81 | libjpeg62-turbo-dev \ 82 | libpng-dev \ 83 | libtiff-dev \ 84 | libopenjp2-7-dev \ 85 | libtbb-dev \ 86 | libtesseract-dev \ 87 | python3-dev \ 88 | && apt-get -qq autoremove \ 89 | && apt-get -qq clean 90 | -------------------------------------------------------------------------------- /Dockerfile.alpine: -------------------------------------------------------------------------------- 1 | FROM python:3.14-alpine 2 | 3 | ARG OPENCV_VERSION 4 | 5 | WORKDIR /opt/build 6 | 7 | RUN set -ex \ 8 | && echo "@edge http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \ 9 | && echo "@community http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \ 10 | && echo "@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \ 11 | && apk add -q --update --no-cache \ 12 | build-base cmake \ 13 | wget unzip \ 14 | hdf5 hdf5-dev \ 15 | protobuf protobuf-dev \ 16 | openblas openblas-dev@community \ 17 | libjpeg libjpeg-turbo-dev \ 18 | libpng libpng-dev \ 19 | tiff tiff-dev \ 20 | libwebp libwebp-dev \ 21 | openjpeg openjpeg-dev openjpeg-tools \ 22 | libtbb@testing libtbb-dev@testing \ 23 | eigen eigen-dev \ 24 | tesseract-ocr tesseract-ocr-data-por tesseract-ocr-dev \ 25 | py3-pip python3-dev \ 26 | linux-headers \ 27 | && pip install -q numpy \ 28 | && wget -q https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip -O opencv.zip \ 29 | && wget -q https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip -O opencv_contrib.zip \ 30 | && unzip -qq opencv.zip -d /opt && rm -rf opencv.zip \ 31 | && unzip -qq opencv_contrib.zip -d /opt && rm -rf opencv_contrib.zip \ 32 | && cmake \ 33 | -D CMAKE_BUILD_TYPE=RELEASE \ 34 | -D CMAKE_INSTALL_PREFIX=/usr/local \ 35 | -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib-${OPENCV_VERSION}/modules \ 36 | -D EIGEN_INCLUDE_PATH=/usr/include/eigen3 \ 37 | -D OPENCV_ENABLE_NONFREE=ON \ 38 | -D WITH_JPEG=ON \ 39 | -D WITH_PNG=ON \ 40 | -D WITH_TIFF=ON \ 41 | -D WITH_WEBP=ON \ 42 | -D WITH_JASPER=ON \ 43 | -D WITH_EIGEN=ON \ 44 | -D WITH_TBB=ON \ 45 | -D WITH_LAPACK=ON \ 46 | -D WITH_PROTOBUF=ON \ 47 | -D WITH_V4L=OFF \ 48 | -D WITH_GSTREAMER=OFF \ 49 | -D WITH_GTK=OFF \ 50 | -D WITH_QT=OFF \ 51 | -D WITH_CUDA=OFF \ 52 | -D WITH_VTK=OFF \ 53 | -D WITH_OPENEXR=OFF \ 54 | -D WITH_FFMPEG=OFF \ 55 | -D WITH_OPENCL=OFF \ 56 | -D WITH_OPENNI=OFF \ 57 | -D WITH_XINE=OFF \ 58 | -D WITH_GDAL=OFF \ 59 | -D WITH_IPP=OFF \ 60 | -D BUILD_OPENCV_PYTHON3=ON \ 61 | -D BUILD_OPENCV_PYTHON2=OFF \ 62 | -D BUILD_OPENCV_JAVA=OFF \ 63 | -D BUILD_TESTS=OFF \ 64 | -D BUILD_IPP_IW=OFF \ 65 | -D BUILD_PERF_TESTS=OFF \ 66 | -D BUILD_EXAMPLES=OFF \ 67 | -D BUILD_ANDROID_EXAMPLES=OFF \ 68 | -D BUILD_DOCS=OFF \ 69 | -D BUILD_ITT=OFF \ 70 | -D INSTALL_PYTHON_EXAMPLES=OFF \ 71 | -D INSTALL_C_EXAMPLES=OFF \ 72 | -D INSTALL_TESTS=OFF \ 73 | -D PYTHON3_EXECUTABLE=/usr/local/bin/python \ 74 | -D PYTHON3_INCLUDE_DIR=/usr/local/include/python3.14/ \ 75 | -D PYTHON3_LIBRARY=/usr/local/lib/libpython3.so \ 76 | -D PYTHON_LIBRARY=/usr/local/lib/libpython3.so \ 77 | -D PYTHON3_PACKAGES_PATH=/usr/local/lib/python3.14/site-packages/ \ 78 | /opt/opencv-${OPENCV_VERSION} \ 79 | && make -j$(nproc) \ 80 | && make install \ 81 | && rm -rf /opt/build/* \ 82 | && rm -rf /opt/opencv-${OPENCV_VERSION} \ 83 | && rm -rf /opt/opencv_contrib-${OPENCV_VERSION} \ 84 | && apk del -q --no-cache \ 85 | build-base cmake \ 86 | hdf5-dev \ 87 | protobuf-dev \ 88 | openblas-dev \ 89 | libjpeg-turbo-dev \ 90 | libpng-dev \ 91 | tiff-dev \ 92 | openjpeg-dev \ 93 | libtbb-dev \ 94 | eigen-dev \ 95 | tesseract-ocr-dev \ 96 | py3-numpy-dev \ 97 | python3-dev \ 98 | linux-headers 99 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Python OpenCV 2 | 3 | ![build](https://github.com/gigante/python-opencv/actions/workflows/build.yml/badge.svg) 4 | ![Docker Pulls](https://img.shields.io/docker/pulls/hdgigante/python-opencv?style=flat-square) 5 | 6 | Docker images with OpenCV and Python bindings 7 | 8 | - [OpenCV](https://github.com/opencv/opencv) + [contrib](https://github.com/opencv/opencv_contrib) 9 | - pip 10 | - Numpy 11 | - Tesseract 12 | - Eigen 13 | - OpenBlas 14 | - Intel TBB 15 | - libjpeg, libpng, libtiff, libwebp and openjpeg 16 | 17 | Available on [DockerHub](https://hub.docker.com/r/hdgigante/python-opencv) 18 | 19 | ## Usage: 20 | 21 | ``` 22 | $ docker run -it hdgigante/python-opencv python3 23 | >>> import cv2 24 | ``` 25 | 26 | | opencv | base image | tag | python | size | 27 | |:---------:|:------:|:-----:|:-----:|:-----:| 28 | | **5.0.0-alpha** | [fedora:43](https://hub.docker.com/_/fedora) | `hdgigante/python-opencv` | 3.14 | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/hdgigante/python-opencv/5.0.0-alpha-fedora?label=%20&logo=docker&logoColor=white&style=flat-square) | 29 | | | [python:3.14-alpine](https://hub.docker.com/_/python) | `hdgigante/python-opencv:5.0.0-alpha-alpine` | 3.14 | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/hdgigante/python-opencv/5.0.0-alpha-alpine?label=%20&logo=docker&logoColor=white&style=flat-square) | 30 | | | [ubuntu:25.10](https://hub.docker.com/_/ubuntu) | `hdgigante/python-opencv:5.0.0-alpha-ubuntu` | 3.13 | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/hdgigante/python-opencv/5.0.0-alpha-ubuntu?label=%20&logo=docker&logoColor=white&style=flat-square) | 31 | | | [debian:12.12-slim](https://hub.docker.com/_/debian) | `hdgigante/python-opencv:5.0.0-alpha-debian` | 3.11 | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/hdgigante/python-opencv/5.0.0-alpha-debian?label=%20&logo=docker&logoColor=white&style=flat-square) | 32 | | **4.12.0** | [fedora:43](https://hub.docker.com/_/fedora) | `hdgigante/python-opencv:4.12.0-fedora` | 3.14 | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/hdgigante/python-opencv/4.12.0-fedora?label=%20&logo=docker&logoColor=white&style=flat-square) | 33 | | | [python:3.14-alpine](https://hub.docker.com/_/python) | `hdgigante/python-opencv:4.12.0-alpine` | 3.14 | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/hdgigante/python-opencv/4.12.0-alpine?label=%20&logo=docker&logoColor=white&style=flat-square) | 34 | | | [ubuntu:25.10](https://hub.docker.com/_/ubuntu) | `hdgigante/python-opencv:4.12.0-ubuntu` | 3.13 | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/hdgigante/python-opencv/4.12.0-ubuntu?label=%20&logo=docker&logoColor=white&style=flat-square) | 35 | | | [debian:12.12-slim](https://hub.docker.com/_/debian) | `hdgigante/python-opencv:4.12.0-debian` | 3.11 | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/hdgigante/python-opencv/4.12.0-debian?label=%20&logo=docker&logoColor=white&style=flat-square) | 36 | | **4.11.0** | [fedora:43](https://hub.docker.com/_/fedora) | `hdgigante/python-opencv:4.11.0-fedora` | 3.14 | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/hdgigante/python-opencv/4.11.0-fedora?label=%20&logo=docker&logoColor=white&style=flat-square) | 37 | | | [python:3.14-alpine](https://hub.docker.com/_/python) | `hdgigante/python-opencv:4.11.0-alpine` | 3.14 | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/hdgigante/python-opencv/4.11.0-alpine?label=%20&logo=docker&logoColor=white&style=flat-square) | 38 | | | [ubuntu:25.10](https://hub.docker.com/_/ubuntu) | `hdgigante/python-opencv:4.11.0-ubuntu` | 3.13 | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/hdgigante/python-opencv/4.11.0-ubuntu?label=%20&logo=docker&logoColor=white&style=flat-square) | 39 | | | [debian:12.12-slim](https://hub.docker.com/_/debian) | `hdgigante/python-opencv:4.11.0-debian` | 3.11 | ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/hdgigante/python-opencv/4.11.0-debian?label=%20&logo=docker&logoColor=white&style=flat-square) | 40 | 41 | ## Build 42 | 43 | Config build options 44 | 45 | ``` 46 | -D OPENCV_ENABLE_NONFREE=ON 47 | -D WITH_JPEG=ON 48 | -D WITH_PNG=ON 49 | -D WITH_TIFF=ON 50 | -D WITH_WEBP=ON 51 | -D WITH_JASPER=ON 52 | -D WITH_EIGEN=ON 53 | -D WITH_TBB=ON 54 | -D WITH_LAPACK=ON 55 | -D WITH_PROTOBUF=ON 56 | -D WITH_V4L=OFF 57 | -D WITH_GSTREAMER=OFF 58 | -D WITH_GTK=OFF 59 | -D WITH_QT=OFF 60 | -D WITH_CUDA=OFF 61 | -D WITH_VTK=OFF 62 | -D WITH_OPENEXR=OFF 63 | -D WITH_FFMPEG=OFF 64 | -D WITH_OPENCL=OFF 65 | -D WITH_OPENNI=OFF 66 | -D WITH_XINE=OFF 67 | -D WITH_GDAL=OFF 68 | -D WITH_IPP=OFF 69 | -D BUILD_OPENCV_PYTHON3=ON 70 | -D BUILD_OPENCV_PYTHON2=OFF 71 | -D BUILD_OPENCV_JAVA=OFF 72 | -D BUILD_TESTS=OFF 73 | -D BUILD_IPP_IW=OFF 74 | -D BUILD_PERF_TESTS=OFF 75 | -D BUILD_EXAMPLES=OFF 76 | -D BUILD_ANDROID_EXAMPLES=OFF 77 | -D BUILD_DOCS=OFF 78 | -D BUILD_ITT=OFF 79 | -D INSTALL_PYTHON_EXAMPLES=OFF 80 | -D INSTALL_C_EXAMPLES=OFF 81 | -D INSTALL_TESTS=OFF 82 | ``` 83 | 84 | To build locally 85 | 86 | ``` 87 | $ make build CV=5.0.0-alpha DIST=fedora 88 | ``` 89 | 90 | ## Based on... 91 | 92 | - [Install OpenCV-Python in Fedora](https://docs.opencv.org/4.12.0/dd/dd5/tutorial_py_setup_in_fedora.html) 93 | --------------------------------------------------------------------------------