Ich suche nach einem Algorithmus, der Kanten identifizieren kann, über die sich die Farbe stark ändert, anstatt nur Helligkeitsänderungen zu finden.
Geht es nur darum, einen anderen Farbraum mit vorhandenen Kantenerkennungsalgorithmen zu verwenden, oder gibt es einen besseren Ansatz?
color
algorithm
edge-detection
Trichoplax
quelle
quelle
Antworten:
Ich denke, Sie können vom RGB-Raum zum HSV-Raum konvertieren, oder welcher Farbraum auch immer den Farbton in einem einzelnen Kanal hat.
Nehmen Sie den HUE-Kanal und machen Sie die Kantenerkennung auf diesem.
Hier ein einfaches Matlab-Skript, um das Ergebnis zu erzielen.
quelle
Der Farbunterschied ist in einigen Farbkanälen ein Helligkeitsunterschied. Während also die Summe der einzelnen Kanäle gleich bleibt, gibt es einen Intensitätsunterschied, wenn es einen Farbunterschied gibt.
Jetzt legen die grundlegenden Algorithmen nicht wirklich fest, wie Sie die Mehrkanaldaten verwalten sollen. Es ist also nichts Falsches daran, einen anderen Farbraum zu verwenden. Andererseits sagt nichts, dass Sie die Faltung nicht auf alle Kanäle anwenden und dann das Ergebnis auswählen können, das am kontrastreichsten ist.
quelle