Установка 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.
- Установите зависимости:
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- Скачайте исходники OpenCV и opencv_contrib:
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git- Перейдите в каталог исходников и создайте каталог сборки:
cd opencv
mkdir build
cd build- Настройте сборку через 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. Пример вывода показан ниже:

- Соберите проект. Для многопроцессорных систем укажите -jN, где N — число потоков (обычно ядра CPU):
make -j2Сборка может занять значительное время (от десятков минут до нескольких часов) в зависимости от железа и опций.
- Установите собранные библиотеки:
make install- Проверьте установку для 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 упрощает переносимость.
Мини-методология установки (шаги принятия решения)
- Определите требования проекта: модули, производительность, поддержка ОС.
- Решите управлять ли зависимостями через системный пакетный менеджер или виртуальные среды.
- Если нужен contrib или оптимизация — планируйте сборку из исходников.
- Выполните сборку в изолированной среде и протестируйте на наборе тестов.
- Зафиксируйте версию и окружение для воспроизводимости.
Чеклисты по ролям
Администратор:
- Проверить доступность диска (≥ несколько гигабайт для сборки).
- Установить зависимости и обновить apt.
- Создать пользователя/контейнер для сборки.
Разработчик:
- Проверить совместимость с используемыми библиотеками (ffmpeg, libv4l).
- Провести тесты производительности на целевом железе.
- Зафиксировать pip/conda зависимости для проекта.
Критерии приёмки
- Библиотеки доступны через pkg-config: pkg-config –modversion opencv4 возвращает версию.
- Модуль Python импортируется без ошибок и возвращает ожидаемую версию.
- Набор прикладных тестов проходит: чтение изображения, преобразование цвета, обнаружение контуров, пример работы с видеопотоком.
- Если включали contrib — проверены ключевые функции (например, SIFT или xfeatures2d).
Тестовые случаи
- Тест чтения изображения:
- Вход: PNG/JPEG файл.
- Ожидание: cv2.imread возвращает массив с правильными размерами.
- Тест видео:
- Вход: локальный файл или камера.
- Ожидание: cv2.VideoCapture открывает поток и получает кадры.
- Тест производительности:
- Вход: 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. Следуйте чеклистам и тестам, чтобы убедиться в корректности установки.
Краткое резюме:
- Репозиторий — быстро, но ограничено.
- Исходники — гибко и мощно, но требует времени.
Похожие материалы
Правило третей в фотографии — как и когда применять
Панель быстрого доступа MS Office — настройка
Как проверить Windows Experience Index в Windows 10
Хорошее письмо — это хорошая коммуникация
Ошибка «Failed to download file» в Minecraft — как исправить