>

Пакеты Conan>

opencv-core-imgcodecs

opencv-core-imgcodecs

Подмножество библиотеки OpenCV (Open Source Computer Vision Library), объединяющее два фундаментальных модуля: core и imgcodecs. Модуль core предоставляет базовые структуры данных и алгоритмы линейной алгебры, необходимые для всех остальных компонентов OpenCV. Модуль imgcodecs отвечает за чтение и запись изображений в различных форматах, выступая связующим звеном между файловой системой и внутренним представлением данных OpenCV.

Особенности

  • единая интеграция двух ключевых модулей OpenCV для работы с изображениями;
  • модуль core содержит основные структуры данных (Mat, Point, Size, Scalar), операции с матрицами и утилиты;
  • модуль imgcodecs обеспечивает чтение/запись изображений в популярных форматах (PNG, JPEG, TIFF, WebP и др.);
  • поддержка работы с памятью (кодирование/декодирование из буфера) без обращения к файловой системе.

Основные компоненты

Объединённый модуль состоит из двух взаимодополняющих частей, которые вместе обеспечивают полный цикл обработки изображений — от загрузки до базовых преобразований и сохранения (подробнее с документацией можно ознакомиться здесь).

Базовая функциональность (core module)

Модуль core является фундаментом OpenCV, предоставляя структуры данных и функции, на которых строятся все остальные модули. Он включает представление изображений в виде многомерных матриц, базовые математические операции и управление памятью.

Основные возможности модуля core:

  • cv::Mat — основной класс для хранения изображений и многомерных массивов;
  • cv::Point, cv::Size, cv::Rect, cv::Scalar — вспомогательные структуры для геометрических операций;
  • cv::add(), cv::subtract(), cv::multiply(), cv::divide() — поэлементные операции с матрицами;
  • cv::bitwise_and(), cv::bitwise_or(), cv::bitwise_xor() — побитовые операции;
  • cv::LUT() — применение таблицы поиска (look-up table) к изображению;
  • Управление памятью и подсчёт ссылок через механизм cv::UMat для работы с OpenCL.

Чтение и запись изображений (imgcodecs module)

Модуль imgcodecs предоставляет простой и единообразный API для загрузки изображений из файлов или буферов памяти и сохранения их в различных форматах. Он автоматически определяет формат по содержимому файла и использует соответствующие кодеки.

Основные функции модуля imgcodecs:

  • cv::imread() — загрузка изображения из файла с возможностью указания режима (цветное, grayscale, без изменений);
  • cv::imwrite() — сохранение изображения в файл; формат определяется по расширению файла;
  • cv::imdecode() — чтение изображения из буфера памяти;
  • cv::imencode() — кодирование изображения в буфер памяти;
  • cv::haveImageReader() / cv::haveImageWriter() — проверка поддержки формата для чтения/записи.

Поддерживаемые форматы и параметры

Модуль imgcodecs поддерживает широкий спектр форматов изображений благодаря встроенным кодерам и внешним зависимостям. Для многих форматов доступны настраиваемые параметры сжатия.

Основные поддерживаемые форматы:

  • BMP, PBM, PGM, PPM, PAM, PFM — встроенная поддержка без внешних зависимостей;
  • JPEG — требует libjpeg или libjpeg-turbo; настройка качества через IMWRITE_JPEG_QUALITY;
  • PNG — требует libpng; настройка уровня сжатия через IMWRITE_PNG_COMPRESSION;
  • TIFF — требует libtiff; поддержка многокадровых изображений и различных схем сжатия;
  • WebP — требует libwebp; настройка качества через IMWRITE_WEBP_QUALITY;
  • OpenEXR — требует библиотеку OpenEXR; поддержка 16-битных и 32-битных изображений с плавающей точкой;
  • JPEG 2000 — требует jasper или openjpeg;
  • AVIF — требует libavif (опционально).

Режимы загрузки изображений

При чтении изображений через imread() можно задать режим, определяющий, как изображение будет интерпретировано и преобразовано.

Основные режимы (ImreadModes):

  • IMREAD_UNCHANGED — загружать изображение как есть (сохраняя альфа-канал и глубину);
  • IMREAD_GRAYSCALE — преобразовать в одноканальное изображение в градациях серого;
  • IMREAD_COLOR — преобразовать в трёхканальное BGR-изображение (по умолчанию);
  • IMREAD_ANYDEPTH — загружать с исходной глубиной цвета (16-бит/32-бит, если доступно);
  • IMREAD_ANYCOLOR — загружать в любом цветовом формате;
  • IMREAD_IGNORE_ORIENTATION — игнорировать EXIF-ориентацию.

Работа с памятью и буферами

Помимо файлового ввода-вывода, модуль imgcodecs позволяет работать с изображениями, находящимися в оперативной памяти. Это полезно при передаче изображений по сети, работе с базами данных или интеграции с другими библиотеками.

Функции для работы с памятью:

  • cv::imdecode() — декодирование изображения из массива байт (например, загруженного из сети);
  • cv::imencode() — кодирование изображения в массив байт для последующей передачи или сохранения;
  • Поддержка всех форматов, доступных для файлового ввода-вывода.

Использование в проекте

Документация по использованию Conan-пакетов для разработки приложений для ОС Аврора.

На сервере Conan библиотеки заранее собраны и размещены под различные версии ОС Аврора 4 и ОC Аврора 5. Для данных версий представлены архитектуры armv7hl, aarch64 и x84_64.

Библиотеку можно использовать в проекте с помощью данного conanfile.py

from conan import ConanFile

class Application(ConanFile):
    settings = "os", "compiler", "arch", "build_type"
    generators = "PkgConfigDeps"

    requires = (
        "opencv-core-imgcodecs/4.9.0@aurora",
    )    

Процесс локальной сборки описан в документации.

opencv-core-imgcodecs

OpenCV (Open Source Computer Vision Library) build with core and imgcodecs modules
Лицензия
Apache-2.0
Версия
Автор
Andrey Vasilyev <andrey.vasilyev@fruct.org>
Скачать
armv7
6.37 Mb
MD5: e0c0a10347b5fbdc012dc7ad95c93b77
Updated: 03.09.2025, 15:50:22
armv8
6.74 Mb
MD5: ec4646a3866c655e2661e275ec83be6e
Updated: 03.09.2025, 15:50:02
x86_64
21.16 Mb
MD5: 4e22c0b802ccaa716bc91a5a983edb38
Updated: 03.09.2025, 15:50:38
Использование в проекте

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.