Ich suche nach einer Möglichkeit, Bilder wie im folgenden Screenshot zu sortieren:
Ich habe mir alle Threads zu diesem Thema im Stackoverflow angeschaut, aber keine der vorgeschlagenen Lösungen ist so nahe daran, mir das obige Bild zu geben.
Ansätze, die ich versucht habe:
Berechnen Sie für jedes Histogramm einen Abstand von Schwarz (r: 0, g: 0, b: 0) wie folgt:
%Vor%sortieren Sie die Bilder dann nach ihren Abständen
Ich hatte gehofft, dass Bilder ähnlicher Farbverteilung mit einer ähnlichen Entfernung enden und zu einer visuellen Ordnung nach Farben führen würden. Dies war nicht der Fall, es scheint etwas zu funktionieren, aber nicht wie im Bild oben.
Für die Entfernungsfunktion habe ich euklidische Distanz, HSV-Sortierung (h- & gt; s- & gt; v) und sogar Lab-Entfernungssortierung ausprobiert. Keine davon hat geholfen
Wenn jemand einen besseren Ansatz hat, würde ich es gerne wissen!
Ich habe selbst noch nie so etwas gemacht, also verzeih mir, wenn der folgende Ansatz naiv ist:
Sie könnten in HSV konvertieren und nach H
sortierenFarbton ist das, was die meisten Leute denken, wenn sie "Farbe" denken
Siehe: RGB zu HSV in PHP
Sie können ImagePlot auschecken. Ich bin mir nicht sicher, ob die Algorithmen hinter dem System verfügbar sind, aber Sie können Ihre Bildersammlung mit der kostenlosen Software herunterladen und ausführen, um sie zu analysieren.
Diese Software wird in vielen interessanten Visualisierungen von massiven Bildersammlungen verwendet, Millionen +