Библиотеки обработки изображений с быстрой кросс-платформенной 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), тогда это путь, не смотрите дальше, если вам требуется серьезная обработка изображений и компьютерное зрение.
Ответ 8
Есть также:
Ответ 9
Я поддерживаю vips, бесплатную, кросс-платформенную библиотеку обработки изображений C/С++. Он работает быстро и хорошо работает на очень больших изображениях.
Я сделал очень простой критерий: загрузите RGB tif размером 5000 x 5000 пикселей, обрезайте 100 пикселей с каждого края, сжимайте 10%, затачивайте, и сохраните снова. По крайней мере, по этому тривиальному тесту vips более чем в три раза быстрее, чем все, что я пробовал.
Ответ 10
Мы использовали Accusoft довольно долгое время, но по очень конкретным причинам мы переключились на LeadTools, который существует только для окон.
Accusoft имеет очень четкий и гораздо более четко определенный интерфейс, чем leadtools. Обе библиотеки очень надежны и оба претендуют на то, чтобы читать более или менее все существующие типы файлов. Оба они также имеют весьма отзывчивую поддержку.
Ответ 11
ExactImage - это быстрая библиотека обработки изображений С++. В отличие от многих других библиотек
он позволяет работать в нескольких цветовых пространствах и битовых глубинах
изначально, что приводит к низкой памяти и вычислительным требованиям.