1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/l0km-jpegwrapper

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

JPEGWrapper

На основе libjpeg-turbo и OpenJPEG реализована поддержка кодирования и декодирования в памяти изображений форматов JPEG и JPEG2000 (J2K) на C++11.

Примечание:

Если вам нужно только реализовать декодирование изображений JPEG в памяти, то можно использовать CImg, см. мой блог:

«CImg: плагин (plugin) использование и описание — реализация кодирования/декодирования изображений JPEG в памяти».

Conan — это менеджер пакетов для разработчиков на C и C++. Conan может управлять любым количеством двоичных файлов для разных конфигураций сборки, включая разные архитектуры, компиляторы, версии компиляторов, среды выполнения, стандартные библиотеки C++ и т. д. Это значительно упрощает кроссплатформенную сборку проектов и повышает эффективность работы.

Начиная с версии jpegwrapper-1.1.0, поддерживается сборка с помощью Conan, поэтому для сборки требуется поддержка Conan 2.x. Если вы устанавливаете Conan, обратитесь к статье «Conan для начинающих (1): установка Conan и JFrog Artifactory — руководство по Conan».

Если вам нужен код, который не поддерживает Conan, переключитесь на версию jpegwrapper-1.0.0.

Загрузка кода

git clone https://gitee.com/l0km/jpegwrapper.git

Компиляция из командной строки

Требуется CMake (версия 3.15 или выше).

Windows

Компиляция с использованием Visual Studio 2015, выполните команду make_msvc_project.bat в командной строке Windows.

Используйте MinGW для компиляции, выполните mingw_build.bat, чтобы создать 32- или 64-битную программу в зависимости от версии компилятора MinGW. Для компилятора SJLJ можно создать как 32-, так и 64-битные библиотеки.

Linux/GCC

Для компиляции под Linux обратитесь к скрипту gnu_build.sh. Возможно, потребуется изменить скрипт в соответствии с вашей системой Linux.

Статические библиотеки находятся в папке release.

Чтобы скомпилировать тестовую программу под Linux, вам потребуется поддержка libX11. Если её нет, установите её, например, в CentOS:

sudo yum install -y libX11-devel

Структура кода

Основной код небольшой:

  • j2k_mem.h: реализация чтения и записи изображений JPEG в память.
  • j2k_mem.h: реализация чтения и записи изображений JPEG2000 в память.
  • CImgWrapper.h: дальнейшая оптимизация чтения и записи изображений JPEG и JPEG2000 с использованием CImg. Поскольку файл CImg.h большой, используется этот заголовок, что может увеличить время компиляции.

Способ вызова

См. прилагаемый тестовый код testCImg.cpp.

Пример использования cmake для поиска библиотек jpegwrapper

Пример поиска jpegwrapper с помощью cmake:

CONFIG режим поиска зависимостей jpegwrapper

В CMAKE_MODULE_PATH необходимо указать расположение FindTurboJPEG.cmake, в этом примере он находится в корне проекта /cmake/Modules

В CMAKE_PREFIX_PATH необходимо указать местоположение установки jpegwrapper и его зависимостей turbojpeg и openjpeg

find_package(jpegwrapper CONFIG REQUIRED)

Пример использования jpegwrapper в скрипте cmake:

Связывание с библиотекой jpegwrapper

target_link_libraries(test_jpegwrapper jpegwrapper::jpegwrapper)

Добавление include openjpeg

target_include_directories (test_jpegwrapper PUBLIC ${OPENJPEG_INCLUDE_DIRS})

Полный пример использования cmake для поиска jpegwrapper см. в test/CMakeLists.txt.

Процесс создания примера вызова в VS2015 см. в test/make_msvc_project.bat.

Создание Makefile для Unix см. в test/make_unix_makefile.sh.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

На основе libjpeg-turbo, openjpeg реализована память для кодирования и декодирования изображений в формате jpeg и jpeg2000 (j2k) (обёртка на C++11). Предоставляются скрипты для компиляции turbojpeg и openjpeg из командной строки (windows/linux). Развернуть Свернуть
BSD-2-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/l0km-jpegwrapper.git
git@api.gitlife.ru:oschina-mirror/l0km-jpegwrapper.git
oschina-mirror
l0km-jpegwrapper
l0km-jpegwrapper
master