Библиотеки обработки изображений с быстрой кросс-платформенной C/С++

Что такое библиотеки кросс-платформенных и высокопроизводительных изображений для обработки изображений (изменение размеров и поиск гистограмм цвета/оттенка). Никакой gui не нужно. Это для C/С++.

До сих пор я просмотрел

  • OpenCV
  • GIL как часть Boost
  • DevIL
  • CImg

Мои вопросы

  • Как производительность перечисленных выше.
  • Что представляют собой некоторые другие библиотеки.

Ваш вклад очень ценится.

Ответ 1

OpenCV имеет неплохую производительность. Этого должно быть достаточно для большинства случаев.

Чтобы повысить производительность, вы также можете использовать OpenCV вместе с Intel IPP, который, однако, является несвободным коммерческим продуктом. Если OpenCV обнаруживает, что IPP установлен, он будет использовать его там, где это возможно.

В качестве третьего варианта вы можете напрямую использовать IPP. IPP был разработан с высокой производительностью (на архитектуре Intel) в качестве цели. Он оптимизирован для использования инструкций Intel SIMD.

Ответ 2

imagemagick довольно популярен.

Ответ 3

Не забудьте посмотреть CxImage - я использовал его профессионально в приложениях для мобильных приложений, интенсивно использующих графику, он отлично работал, и он так полон особенностей. Проверьте это!

Ответ 4

Существует простая и бесплатная библиотека кросс-платформенной обработки изображений с открытым исходным кодом Simd. Как следует из его описания:

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

Алгоритмы оптимизированы с использованием различных расширений SIMD CPU: SSE, SSE2, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 и AVX-512 для x86/x64, VMX (Altivec) и VSX (Power7) для PowerPC, NEON для ARM.

Ответ 5

Вы можете посмотреть IM. Он основан на нескольких платформах и поддерживает (модульные) форматы файлов изображений, множество представлений изображений и широкий спектр преобразований и операторов. Также доступен инструмент GUI, IMLab, для демонстрации операторов обработки изображений на основе библиотеки IM.

Ответ 6

Есть также VTK и ITK, с огромным количеством алгоритмов обработки многообразия изображений.

Ответ 7

Я не думаю, что я видел что-то лучшее в функциях и производительности, чем HALCON от MVTec. Он предоставляет всевозможные алгоритмы компьютерного зрения и обработки изображений из коробки и множество примеров реальной жизни. Библиотека использует многопоточность столько, сколько могли бы позволить алгоритмы, и GPU, когда они доступны. Он очень кросс-платформенный и обеспечивает фантастическую среду IDE, которая позволит вам экспортировать ваш прототип кода (алгоритм) на многие языки, включая C, С++, С# и т.д.

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

Основная проблема с этим пакетом - цена (глупо высокая), но если вы работаете над проектом, в котором вам не нужно развертывать лицензии во время выполнения (например, SaaS), тогда это путь, не смотрите дальше, если вам требуется серьезная обработка изображений и компьютерное зрение.

Ответ 9

Я поддерживаю vips, бесплатную, кросс-платформенную библиотеку обработки изображений C/С++. Он работает быстро и хорошо работает на очень больших изображениях.

Я сделал очень простой критерий: загрузите RGB tif размером 5000 x 5000 пикселей, обрезайте 100 пикселей с каждого края, сжимайте 10%, затачивайте, и сохраните снова. По крайней мере, по этому тривиальному тесту vips более чем в три раза быстрее, чем все, что я пробовал.

Ответ 10

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

Ответ 11

ExactImage - это быстрая библиотека обработки изображений С++. В отличие от многих других библиотек  он позволяет работать в нескольких цветовых пространствах и битовых глубинах  изначально, что приводит к низкой памяти и вычислительным требованиям.