Быстрые кроссплатформенные библиотеки обработки изображений C / C ++ - PullRequest
26 голосов
/ 28 апреля 2009

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

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

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

Мои вопросы

  • Как обстоят дела с теми, что я перечислил выше
  • Какие еще есть библиотеки

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

Ответы [ 11 ]

12 голосов
/ 28 апреля 2009

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

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

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

10 голосов
/ 28 апреля 2009

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

4 голосов
/ 28 апреля 2009

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

3 голосов
/ 30 октября 2014

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

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

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

2 голосов
/ 27 сентября 2014

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

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

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

2 голосов
/ 28 апреля 2009

Существует также VTK и ITK , с огромным количеством разнообразных алгоритмов обработки изображений.

2 голосов
/ 28 апреля 2009

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

1 голос
/ 13 августа 2014

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

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

1 голос
/ 02 марта 2012

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

1 голос
/ 23 января 2010

Есть также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...