Bibliothèques De Traitement D'Images C/C++ Multiplateformes Rapides

Quelles sont les bibliothèques d'images multi-plateformes et hautes performances pour le traitement d'image (redimensionnement et recherche des histogrammes couleur / teinte). Aucune interface graphique nécessaire. C'est pour le C/C++.

Jusqu'à présent j'ai regardé dans

  • OpenCV
  • GIL dans le cadre de Boost
  • diable
  • CImg

Mes questions

  • Comment est la performance de ceux que j'ai énumérés ci-dessus
  • Quelles sont les autres bibliothèques

Votre entrée très appréciée.

26
demandé sur The Unknown 2009-04-28 09:42:35

11 réponses

OpenCV a de très bonnes performances. Cela devrait être suffisant pour la plupart des cas.

Pour améliorer les performances, vous pouvez également utiliser OpenCV avec Intel IPP , qui est cependant un produit commercial non gratuit. Si OpenCV détecte que IPP est installé, il l'utilisera si possible.

Comme troisième option, vous pouvez utiliser IPP directement. IPP a été conçu avec des performances élevées (sur les architectures Intel) comme objectif. Il est optimisé pour utiliser les instructions intel SIMD.

12
répondu Dani van der Meer 2017-06-01 06:23:18

Imagemagick est assez populaire.

10
répondu CiNN 2009-04-28 06:09:04

N'oubliez pas de regarder CxImage - Je l'ai utilisé professionnellement dans des applications de téléphonie mobile à forte intensité graphique déployées à l'échelle mondiale, où il a parfaitement fonctionné et il est si plein de fonctionnalités. Faire vérifier!

4
répondu Johann Gerell 2017-05-07 15:30:52

Il existe une bibliothèque de traitement d'image multiplateforme open source simple et gratuite Simd . Comme suit de sa description:

Il fournit de nombreux algorithmes de haute performance utiles pour le traitement d'image tels que: la conversion de format de pixel, la mise à l'échelle et la filtration de l'image, l'extraction d'informations statistiques à partir d'images, la détection de mouvement.

Les algorithmes sont optimisés avec l'utilisation de différentes extensions de CPU SIMD: SSE, SSE2, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 et AVX-512 pour x86 / x64, VMX (Altivec) et VSX(Power7) pour PowerPC, néon pour ARM.

3
répondu ErmIg 2017-09-13 10:15:21

Vous voudrez peut-être regarder IM. Il s'appuie sur plusieurs plates-formes et prend en charge les formats de fichiers image (modulaires), une variété de représentations d'images et un large éventail de transformations et d'opérateurs. Un outil graphique, IMLab , pour démontrer les opérateurs de traitement d'image basés sur la bibliothèque IM est également disponible.

2
répondu RBerteig 2009-04-28 07:03:46

Il y a aussi VTK et ITK , avec une énorme quantité d'algorithmes de traitement d'images multiples.

2
répondu mem64k 2009-04-28 07:13:52

Je ne pense pas avoir vu quelque chose de mieux dans les fonctionnalités et les performances que HALCON de MVTec . Il fournit toutes sortes d'algorithmes de vision par ordinateur et de traitement d'image prêts à l'emploi et de nombreux exemples de la vie réelle. La bibliothèque utilise le multithreading autant que les algorithmes pourraient le permettre et le GPU lorsqu'il est disponible. Il est très multi-plateforme et fournit un IDE fantastique qui vous permettra d'exporter votre code prototype (algorithme) vers de nombreux langages, y compris C, C++, C# et plus.

L'une des meilleures caractéristiques de cette bibliothèque est la façon dont ils traitent les objets de région. Il est juste incroyablement intelligent et efficace à la fois pour le stockage et le traitement des masques. Malheureusement, OpenCV a beaucoup à apprendre.

Le principal problème avec ce paquet est le prix (bêtement élevé) mais si vous travaillez sur un projet où vous n'avez pas besoin de déployer des licences d'exécution (par exemple SaaS), alors c'est la voie à suivre, ne cherchez pas plus loin si vous avez besoin d'un traitement d'image sérieux et d'une vision par ordinateur.

2
répondu Darien Pardinas 2014-09-27 10:36:02
1
répondu mloskot 2010-01-23 20:47:40

Je maintiens vips, une bibliothèque de traitement d'images scientifique gratuite et multi-plateforme C/c++. Il est rapide et fonctionne bien sur de très grandes images.

J'ai fait un benchmark très simple : charger un tif RVB de 5 000 x 5 000 pixels, recadrer 100 pixels de chaque bord, réduire de 10%, aiguiser et enregistrer à nouveau. Sur ce test trivial au moins, vips est plus de trois fois plus rapide que tout ce que j'ai essayé.

1
répondu user894763 2014-08-13 16:03:47

Nous avons utilisé Accusoftpendant un certain temps, mais pour des raisons très spécifiques, nous sommes passés à LeadTools, qui existe uniquement pour windows. Accusoft a une interface très claire et beaucoup plus bien définie que leadtools. Les deux bibliothèques sont très robustes et les deux prétendent lire plus ou moins tous les types de fichiers existants. Les deux ont également un soutien très réactif.

0
répondu RED SOFT ADAIR 2009-04-28 13:21:55