Puzzle: Isolieren der Teile (Trennen von "festsitzenden" Blobs)

7

Ich bin neu in der Bildverarbeitung und versuche, meine Füße nass zu machen. Ich habe einige Puzzleteile fotografiert und möchte die Teile isolieren.

Geben Sie hier die Bildbeschreibung ein

Ich verwende die Python simplecv Bibliothek , dies zu tun, und bisher habe ich es geschafft , ziemlich anständige Ergebnisse erhalten verwenden findBlobs(), hueDistance()und drawMinRect(). Folgendes habe ich bisher

Geben Sie hier die Bildbeschreibung ein

Ziemlich gut, ehrlich. Der einzige Ort, an dem es falsch ist, ist, dass sich diese beiden Teile leicht rechts von der Mitte berühren.

Ich habe versucht, das Bild zu erweitern, aber das scheint das Problem zu verschärfen. Wie kann ich diese Blobs "verkleinern", um die Überlappung zu beseitigen?

Avi Romanoff
quelle
Ich gehe davon aus, dass Sie irgendwann (nach hueDistance?) Ein Bild haben, bei dem der Hintergrund dunkel und der Vordergrund hell ist, oder? (Oder umgekehrt.) Wenn Sie dieses Bild aufnehmen und erweitern, werden die hellen Bereiche größer. Wenn Sie es erodieren, schrumpfen die hellen Bereiche.
Niki Estner
1
Hallo, du musst das Bild erodieren. Dadurch werden die Puzzles verkleinert, aber auch die Gelenke entfernt. Wenn Sie möchten, dass die Objekte ihre ursprüngliche Größe haben, können Sie den Wasserscheidenalgorithmus verwenden. Und das nächste Mal versuchen Sie, alle Rätsel zu lösen, bevor Sie ein Foto machen :)
Abid Rahman K
1
Ich würde wärmstens empfehlen, die Fotos ohne Blitz bei gleichmäßiger Beleuchtung aufzunehmen. Sie können die morphologische Öffnungsoperation verwenden, sie entspricht Erosion und Dilatation.
Andrey Rubshtein

Antworten:

1

Ich stimme Abid Rahman K zu, jedoch würde nur das Erodieren zu einer Formschrumpfung führen. Um die Lücke nur zu schließen, schlägt Abid Rahman einen Ansatz auf der Basis von Wassereinzugsgebieten vor. Für eine schnellere und einfachere Methode können Sie jedoch Folgendes versuchen:

  • Erodieren Sie die Regionen
  • Kennzeichnung der verbundenen Komponenten anwenden.
  • Erweitern Sie die Regionen zurück.

Auf diese Weise haben Sie fast die gleiche Form (mit einigen Artefakten, die aufgrund der Morphologie entstehen), aber Sie werden sicherlich einzelne verbundene Komponenten erhalten.

Wassereinzugsgebiete und Entfernungstransformationen sind ebenfalls leistungsstark und können eine gute Wahl sein, wenn Sie viele Überlappungen haben.

Tolga Birdal
quelle