Bilderkennung für Bilderrahmen

Ich mache Fotos von den Bilderrahmen aus recyceltem Holz, die ich anschließend hochlade und von meiner Software nummerieren und einsortieren lasse.

Im nächsten Schritt habe ich diese Fotos gespeichert und den sichtbaren Bereich vom Rahmen ausgeschnitten. Diese Datei war dann die Vorschaudatei für die Fotovorschau. Zusammen mit einem Lieblingsfoto oder mit Fotokunst könnte hat man eine prima Idee bekommen, wie das Foto in dem Bilderrahmen aus recyceltem Holz wirkt.

Das war immer ganz schön viel Arbeit und blieb häufig liegen, wenn es etwas wichtigeres gab (bei zwei Kindern findet sich da immer etwas).

Vergangene Woche hatte ich eine Idee: warum schneide ich diesen Vorschaubereich nicht automatisch aus? Das wäre relativ einfach, wenn die Bilderrahmen immer gleich wären, was sie aber nicht sind. Ich hab’s trotzdem probiert und mich einfach mal an die Sache rangetraut.

Und so wird es gemacht

Die Fotodatei habe ich zunächst auf 550 Pixel Breite (das Zielformat) verkleinert. Anschließend habe ich das Biderrahmenfoto in Graustufen konvertiert und ordentlich den Kontrast erhöht.

Dann habe ich überlegt, wie ich grundsätzlich eine Linie erkenne. Am Kontrast. Z.B. weiße Pixel stehen neben schwarzen Pixeln. Und wenn davon viele übereinander (vertikale Linien) oder nebeneinander (horizontale Linien) liegen, dann haben wir eine Linie erkannt. Ich suche bei den Bilderrahmen 100 Pixel übereinander und nebeneinander ab.

Gut, so einfach war es dann doch nicht mit den Bilderrahmen. Häufig war das Platzhalterfoto ein Problem und auch mein Logo besteht aus Linien

Ich habe dann eine Technik angewendet, die ich noch von früher aus der Mikroprozessortechnik kenne (ja, Schule hat hier schon was gebracht). Ich betrachte das Foto nur in Schwarz und Weiß also 0 und 1.

Dafür definiere ich einen Wert, der dann als Weiß (1) gilt. Im Grunde wie eine Weiche. Alles über dem Wert wird Weiß, alles darunter wird zu Schwarz. So werden auch Unebenheiten zu einer einheilichen Farbinformation – genau richtig bei den Bilderrahmen.

Erkannter sichtbarer Bereich.

KI oder nicht KI? Es ist die Vorstufe, ein Modul. Erkenne einen Rahmen in einem Bild. Getan. Nun könnte die KI mit vielen Bilderrahmenfotos lernen und die Rahmen immer besser erkennen. Hier geht es aber nicht darum, einen Rahmen zu erkennen, sondern diese exakte Position zu ermitteln.

Den letzten Check mache ich. Kann den Rahmen noch verändern, ihn invertieren und auch einen Bilderrahmen aussortieren, wenn er zu schief geraten ist.

So sieht das im Backend aus: Video auf Youtube

Und so ist das Ergebnis:

Bilderrahmen für Lieblingsfotos
So sieht es mit einem Lieblingsfoto aus.