Установка OpenCV на CentOS 8

О чём эта инструкция
Это пошаговый туториал для системных администраторов и разработчиков, которые хотят собрать OpenCV из исходников на сервере с CentOS 8. Подходит, когда пакет в репозитории отсутствует или требуется включить дополнительные модули из opencv_contrib.
Требования
- Сервер под управлением CentOS 8.
- Доступ root или sudo для установки пакетов и записи в системные каталоги.
- Минимум 2–4 ГБ свободной оперативной памяти для сборки (рекомендуется больше при параллельной компиляции).
Важно: сборка OpenCV требует много места и времени — выделите не менее 10–20 ГБ свободного диска и несколько часов при медленном CPU.
Установка необходимых пакетов
OpenCV обычно отсутствует в стандартном репозитории CentOS 8, поэтому собираем из исходников. Установите зависимости командой:
dnf install epel-release make git gcc gcc-c++ cmake3 qt5-qtbase-devel python3 python3-devel python3-pip cmake python3-devel python3-numpy gtk2-devel libpng-devel libwebp-devel libjpeg-turbo-devel libtiff-devel tbb-devel freeglut-devel mesa-libGL mesa-libGL-devel boost boost-thread boost-devel gstreamer1-plugins-base -yПояснение: здесь устанавливаются компиляторы, CMake, библиотеки изображений, OpenGL и Python-зависимости. Если вы собираетесь использовать GPU-ускорение (CUDA), потребуется дополнительно установить SDK NVIDIA и соответствующие флаги в cmake.
Клонирование исходников OpenCV
Создайте рабочую директорию и склонируйте репозитории:
mkdir -p ~/opencv_build
cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.gitСовет: при необходимости соберите конкретную версию, переключитесь на нужный тег в обоих репозиториях: git checkout
Подготовка сборки и конфигурация
Перейдите в директорию исходников и создайте папку build:
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_build/opencv_contrib/modules -D BUILD_EXAMPLES=ON ..
Пояснения к важным флагам:
- CMAKE_INSTALL_PREFIX=/usr/local — стандартное место установки.
- OPENCV_EXTRA_MODULES_PATH — подключает contrib-модули.
- INSTALL_PYTHON_EXAMPLES — полезно для проверки Python-интеграции.
Если cmake завершился ошибкой, проверьте вывод на тему отсутствующих библиотек и установите недостающие -devel пакеты.
Компиляция
Запустите сборку, используя несколько потоков (замените 4 на число ядер вашей машины):
make -j4
Подсказка: если на сервере ограниченная память, уменьшите количество параллельных потоков (например, -j2) или используйте swap.
Установка
После успешной компиляции установите библиотеки:
make install
Создайте символическую ссылку для pkg-config и обновите кэш библиотек:
ln -s /usr/local/lib64/pkgconfig/opencv4.pc /usr/share/pkgconfig/
ldconfigПроверка установки
Проверьте версию через pkg-config:
pkg-config --modversion opencv4Ожидаемый пример вывода:
4.3.0Проверьте Python-модуль cv2:
python3 -c "import cv2; print(cv2.__version__)"Пример вывода:
4.3.0-devЕсли Python не видит модуль cv2, проверьте, что папка с Python-байлдами добавлена в системный PYTHONPATH или что вы устанавливали OpenCV для той же версии Python, что используете.
Частые проблемы и их решения
- Ошибка cmake: missing header — установите соответствующий -devel пакет (см. вывод cmake).
- Отсутствует cv2 в Python — возможно, OpenCV установился в каталог, не находящийся в sys.path. Найдите файл cv2.so через find /usr/local -name “cv2*.so” и добавьте путь в /etc/python3.conf или создайте .pth файл.
- Компиляция занимает много времени — уменьшите число потоков или используйте машину с большим объёмом RAM.
- Нужна поддержка CUDA — собирать нужно с флагами -D WITH_CUDA=ON и соответствующей версией CUDA toolkit.
Альтернативные подходы
- Установка через dnf/Flatpak/SNAP — быстрее, но пакеты могут быть устаревшими или лишены contrib-модулей.
- Использование готовых Python-колёс (pip) — pip install opencv-python поставляет бинарные сборки, но они не включают contrib-модули и CUDA.
- Контейнеры Docker — удобно для изоляции и воспроизводимости сборки.
Рекомендации по безопасности и совместимости
- Сборка из исходников устанавливает библиотеки в /usr/local — убедитесь, что этот путь защищён и доступы ограничены.
- Проверяйте зависимости на лицензии, если используете OpenCV в коммерческом продукте.
Роли и чеклисты
Администратор:
- Убедиться в наличии прав root/sudo.
- Установить зависимости и корректно настроить системный PATH/PYTHONPATH.
- Обновить ldconfig после установки.
Разработчик:
- Проверить, что Python видит cv2 и примеры работают.
- Запустить тестовые скрипты из samples или своих тестов.
Критерии приёмки
- pkg-config –modversion opencv4 выводит номер версии.
- python3 -c “import cv2; print(cv2.version)” возвращает ту же или совместимую версию.
- Библиотеки доступны для сборки и запуска примеров (BUILD_EXAMPLES).
Краткое резюме
Вы успешно собрались установить OpenCV из исходников: установили зависимости, склонировали репозитории, настроили cmake, собрали и установили пакеты. Если нужна поддержка CUDA или специфичных модулей, добавьте соответствующие флаги при вызове cmake.
Справочный материал: официальный репозиторий OpenCV на GitHub содержит подробную документацию по конфигурации и опциям сборки.
1-строчный словарь:
- OpenCV: библиотека компьютерного зрения; CMake: система управления сборкой; opencv_contrib: дополнительные модули OpenCV.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента