wake-up-neo.com

Schnelle plattformübergreifende C/C++ - Bildverarbeitungsbibliotheken

Was sind einige plattformübergreifende und leistungsstarke Bildbibliotheken für die Bildverarbeitung (Ändern der Größe und Auffinden der Farb-/Farbton-Histogramme)? Keine GUI benötigt. Dies ist für C/C++. 

Bisher habe ich hineingeschaut 

  • OpenCV
  • GIL als Teil von Boost
  • Teufel
  • CImg

Meine Fragen

  • Wie ist die Leistung derjenigen, die ich oben aufgeführt habe
  • Was sind andere Bibliotheken?

Ihr Beitrag wurde sehr geschätzt. 

26
The Unknown

OpenCV hat eine ziemlich gute Leistung. Für die meisten Fälle sollte es ausreichend sein. 

Um die Leistung zu verbessern, können Sie OpenCV auch zusammen mit Intel IPP verwenden. Dies ist jedoch ein nicht freies kommerzielles Produkt. Wenn OpenCV feststellt, dass IPP installiert ist, wird es wo möglich verwendet. 

Als dritte Option können Sie IPP direkt verwenden. IPP wurde mit hoher Leistung (auf Intel-Architekturen) als Ziel entwickelt. Es ist für die Verwendung der Intel SIMD-Anweisungen optimiert. 

12

imagemagick ist ziemlich beliebt.

10
CiNN

Vergessen Sie nicht, CxImage - anzusehen. Ich habe es professionell in weltweit eingesetzten, grafikintensiven Mobiltelefonanwendungen eingesetzt, bei denen es einwandfrei funktioniert und viele Funktionen bietet. Schau es dir an!

4
Johann Gerell

Es gibt eine einfache und kostenlose, quellübergreifende Open Source-Bildverarbeitungsbibliothek Simd . Wie aus seiner Beschreibung hervorgeht:

Es bietet viele nützliche Hochleistungsalgorithmen für die Bildverarbeitung, z. B. Pixelformatkonvertierung, Bildskalierung und -filterung, Extraktion statistischer Informationen aus Bildern, Bewegungserkennung. 

Die Algorithmen werden mit verschiedenen SIMD-CPU-Erweiterungen optimiert: SSE, SSE2, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 und AVX-512 für x86/x64, VMX (Altivec) und VSX (Power7) für PowerPC, NEON für ARM. 

3
ErmIg

Vielleicht möchten Sie nach IM suchen. Es basiert auf mehreren Plattformen und unterstützt (modulare) Bilddateiformate, eine Vielzahl von Bilddarstellungen sowie eine Vielzahl von Transformationen und Operatoren. Ein GUI-Tool, IMLab , zum Veranschaulichen von auf der IM-Bibliothek basierenden Bildverarbeitungsoperatoren ist ebenfalls verfügbar.

2
RBerteig

Ich glaube nicht, dass ich in Bezug auf Funktionen und Leistung etwas besseres als HALCON von MVTec gesehen habe. Es bietet alle gängigen Computer-Vision- und Bildverarbeitungsalgorithmen und viele Beispiele aus der Praxis. Die Bibliothek verwendet Multithreading, soweit es Algorithmen erlauben, und GPU, wenn verfügbar. Es ist sehr plattformübergreifend und bietet ein fantastisches IDE, mit dem Sie Ihren Prototypcode (Algorithmus) in viele Sprachen exportieren können, darunter C, C++, C # und mehr.

Eine der besten Funktionen dieser Bibliothek ist die Behandlung von Regionsobjekten. Es ist einfach unglaublich intelligent und effizient, sowohl für die Speicherung als auch für die Maskenverarbeitung. Leider hat OpenCV viel zu lernen.

Das Hauptproblem bei diesem Paket ist der Preis (dumm hoch). Wenn Sie jedoch an einem Projekt arbeiten, für das Sie keine Laufzeitlizenzen (z. B. SaaS) bereitstellen müssen, ist dies der richtige Weg, wenn Sie ernsthafte Anforderungen haben Bildverarbeitung und Computer Vision. 

2
Darien Pardinas

Es gibt auch VTK und ITK , mit einer Vielzahl von Bildverarbeitungsalgorithmen.

2
mem64k

Es gibt auch:

1
mloskot

Ich unterhalte vips , eine kostenlose, plattformübergreifende wissenschaftliche Bildverarbeitungs-Bibliothek C/C++. Es ist schnell und funktioniert sehr gut bei sehr großen Bildern. 

Ich habe einen sehr einfachen Benchmark erstellt: ein RGB-Tif mit 5.000 x 5.000 Pixeln, 100 Pixel von jeder Kante weggeschnitten, um 10% verkleinert, scharfgestellt und erneut gespeichert. Zumindest bei diesem trivialen Test ist vips mehr als dreimal schneller als alles, was ich bisher ausprobiert habe. 

1
jcupitt

ExactImage ist eine schnelle C++ - Bildverarbeitungsbibliothek. Im Gegensatz zu vielen anderen Frameworks Von Bibliotheken ist der Betrieb in mehreren Farbräumen und Bittiefen Möglich, was zu einem geringen Speicher- und Rechenaufwand führt.

0
Biga

Wir haben Accusoft eine ganze Weile verwendet, aber aus sehr speziellen Gründen haben wir zu LeadTools gewechselt, das nur für Windows existiert. Accusoft hat eine sehr klare und viel klarer definierte Schnittstelle als Leadtools . Beide Bibliotheken sind sehr robust und behaupten, mehr oder weniger alle vorhandenen Dateitypen zu lesen. Beide haben auch eine recht reaktive Unterstützung.

0
RED SOFT ADAIR