Гид по технологиям

Установка OpenCV на Debian

5 min read Компьютерное зрение Обновлено 26 Nov 2025
Установка OpenCV на Debian — репозиторий и исходники
Установка OpenCV на Debian — репозиторий и исходники

О чём статья

OpenCV — это библиотека с открытым кодом для задач компьютерного зрения и машинного обучения. Её применяют в робототехнике, автономных автомобилях, медицинской обработке изображений и в мобильных приложениях. В статье показаны два распространённые пути установки на Debian: через системный репозиторий и через сборку из исходников, а также даны рекомендации и чеклисты для администраторов и разработчиков.

Требования

  • Сервер или рабочая машина с Debian 10–12.
  • Настроенный root пароль или учётная запись с sudo.
  • Доступ к интернету для загрузки пакетов и исходников.

Установка OpenCV из репозитория Debian

Этот способ самый простой. Он даёт быстрый доступ к предсобранным пакетам, удобен для тестов и простых задач.

Выполните:

apt-get install python3-opencv -y

Проверьте версию модуля:

python3 -c "import cv2; print(cv2.__version__)"

Ожидаемый вывод может быть разным в зависимости от версии Debian. В примере он был:

3.2.0

Важно: пакет из репозитория обычно содержит стабильную, но не самую новую версию OpenCV и может не включать опциональные модули из opencv_contrib.

Сборка OpenCV из исходников (рекомендуется для продакшена и оптимизаций)

Сборка из исходников позволяет включить нужные модули, оптимизировать сборку под конкретную архитектуру и добавить поддержку opencv_contrib.

  1. Установите зависимости:
apt-get install build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev -y
  1. Скачайте исходники OpenCV и opencv_contrib:
git clone https://github.com/opencv/opencv.git  
git clone https://github.com/opencv/opencv_contrib.git
  1. Перейдите в каталог исходников и создайте каталог сборки:
cd opencv
mkdir build  
cd build
  1. Настройте сборку через CMake:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules -D BUILD_EXAMPLES=ON ..

После успешной конфигурации вы увидите экран с выводом CMake. Пример вывода показан ниже:

Вывод CMake при конфигурации OpenCV с опциями сборки

  1. Соберите проект. Для многопроцессорных систем укажите -jN, где N — число потоков (обычно ядра CPU):
make -j2

Сборка может занять значительное время (от десятков минут до нескольких часов) в зависимости от железа и опций.

  1. Установите собранные библиотеки:
make install
  1. Проверьте установку для pkg-config и Python:
pkg-config --modversion opencv4

Ожидаемый пример вывода:

4.2.0

И проверка модуля Python:

python3 -c "import cv2; print(cv2.__version__)"

Ожидаемый пример вывода:

4.2.0-dev

Когда выбирать сборку из исходников, а когда репозиторий

  • Выберите репозиторий если:

    • Нужна быстрая и простая установка.
    • Вы разрабатываете прототип или тестируете утилиты.
    • Вам достаточно функционала без дополнительных модулей.
  • Выберите сборку из исходников если:

    • Нужна последняя версия или конкретные патчи.
    • Требуется opencv_contrib модули (например, SIFT, xfeatures2d).
    • Необходима оптимизация под конкретную архитектуру или включение аппаратного ускорения.

Альтернативные подходы

  • Conda: удобна для пользователей Python и виртуальных окружений. Позволяет установить opencv без сборки.
  • pip: пакет opencv-python доступен в PyPI, быстро и просто, но без contrib-модулей.
  • Docker: контейнер с заранее собранным OpenCV упрощает переносимость.

Мини-методология установки (шаги принятия решения)

  1. Определите требования проекта: модули, производительность, поддержка ОС.
  2. Решите управлять ли зависимостями через системный пакетный менеджер или виртуальные среды.
  3. Если нужен contrib или оптимизация — планируйте сборку из исходников.
  4. Выполните сборку в изолированной среде и протестируйте на наборе тестов.
  5. Зафиксируйте версию и окружение для воспроизводимости.

Чеклисты по ролям

Администратор:

  • Проверить доступность диска (≥ несколько гигабайт для сборки).
  • Установить зависимости и обновить apt.
  • Создать пользователя/контейнер для сборки.

Разработчик:

  • Проверить совместимость с используемыми библиотеками (ffmpeg, libv4l).
  • Провести тесты производительности на целевом железе.
  • Зафиксировать pip/conda зависимости для проекта.

Критерии приёмки

  • Библиотеки доступны через pkg-config: pkg-config –modversion opencv4 возвращает версию.
  • Модуль Python импортируется без ошибок и возвращает ожидаемую версию.
  • Набор прикладных тестов проходит: чтение изображения, преобразование цвета, обнаружение контуров, пример работы с видеопотоком.
  • Если включали contrib — проверены ключевые функции (например, SIFT или xfeatures2d).

Тестовые случаи

  1. Тест чтения изображения:
    • Вход: PNG/JPEG файл.
    • Ожидание: cv2.imread возвращает массив с правильными размерами.
  2. Тест видео:
    • Вход: локальный файл или камера.
    • Ожидание: cv2.VideoCapture открывает поток и получает кадры.
  3. Тест производительности:
    • Вход: 1920×1080 видео.
    • Ожидание: обработка N кадров в секунду не ниже порога (определите порог для вашего проекта).

Советы по оптимизации и совместимости

  • Для ускорения используйте оптимизации компилятора (денормированные флаги в CMake) и включайте TBB/IPP если нужно.
  • На серверах без GUI соберите без GTK или используйте безголовое выполнение.
  • Для pypy или нестандартных пайтон-окружений убедитесь, что биндинги собраны под эту среду.

Важно: сборка из исходников требует внимания к зависимостям и времени сборки. Планируйте резервирование ресурсов.

Краткое руководство на будущее

  • Зафиксируйте точную ревизию репозитория (git tag/commit) для воспроизводимости.
  • Храните файл сборки CMake и список установленных пакетов рядом с проектом.
  • Рассмотрите контейнеризацию сборки (Docker) для CI/CD.

Глоссарий (в одну строку)

  • OpenCV: библиотека для компьютерного зрения.
  • opencv_contrib: набор дополнительных модулей OpenCV.
  • pkg-config: утилита для получения информации о библиотеках.
  • CMake: система генерации файлов сборки.

Вывод

Вы успешно узнали, как установить OpenCV на Debian двумя способами. Для быстрой установки используйте пакет python3-opencv из репозитория. Для гибкости и максимальной функциональности соберите библиотеку из исходников и подключите opencv_contrib. Следуйте чеклистам и тестам, чтобы убедиться в корректности установки.

Краткое резюме:

  • Репозиторий — быстро, но ограничено.
  • Исходники — гибко и мощно, но требует времени.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Правило третей в фотографии — как и когда применять
Фотография

Правило третей в фотографии — как и когда применять

Панель быстрого доступа MS Office — настройка
Microsoft Office

Панель быстрого доступа MS Office — настройка

Как проверить Windows Experience Index в Windows 10
Windows

Как проверить Windows Experience Index в Windows 10

Хорошее письмо — это хорошая коммуникация
Навыки письма

Хорошее письмо — это хорошая коммуникация

Ошибка «Failed to download file» в Minecraft — как исправить
Игры

Ошибка «Failed to download file» в Minecraft — как исправить

Как заблокировать игрока на Nintendo Switch
Игры

Как заблокировать игрока на Nintendo Switch