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

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

• 4 min read • Linux • Обновлено 16 Nov 2025
Установка OpenCV на CentOS 8
Установка OpenCV на CentOS 8

Логотип OpenCV: пример обработки изображений и визуализации данных

О чём эта инструкция

Это пошаговый туториал для системных администраторов и разработчиков, которые хотят собрать 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 для сборки OpenCV

Пояснения к важным флагам:

  • CMAKE_INSTALL_PREFIX=/usr/local — стандартное место установки.
  • OPENCV_EXTRA_MODULES_PATH — подключает contrib-модули.
  • INSTALL_PYTHON_EXAMPLES — полезно для проверки Python-интеграции.

Если cmake завершился ошибкой, проверьте вывод на тему отсутствующих библиотек и установите недостающие -devel пакеты.

Компиляция

Запустите сборку, используя несколько потоков (замените 4 на число ядер вашей машины):

make -j4

Процесс компиляции make

Подсказка: если на сервере ограниченная память, уменьшите количество параллельных потоков (например, -j2) или используйте swap.

Установка

После успешной компиляции установите библиотеки:

make install

Вывод make install после успешной установки OpenCV

Создайте символическую ссылку для 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.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро