Ich habe ein Bild, das ich erodiere und dehne:
%Vor%Hier ist das Ergebnis der Erosion und Dilatation:
und dann nehme ich eine Schwelle davon:
%Vor%Aber der Schwellenwert gibt mir eine unerwünschte Erweiterung, die ich im Bild unten markiert habe (Der Bereich über der roten Linie ist die unerwünschte Region):
Wie werde ich diese unerwünschte Region los? Gibt es einen besseren Weg, um das zu tun, was ich tue?
Wenn Sie mit einer anderen Art von Schwelle arbeiten (adaptive Schwelle, die die lokale Genauigkeit berücksichtigt), wird Ihr Problem bereits beseitigt: Das Ergebnis der adaptiven Schwelle ist das, wonach Sie suchen.
[EDIT: Ich habe mir die Freiheit genommen, Code in Hough-Kreisen hinzuzufügen. Ich gebe zu, dass ich mit den Parametern für dieses einzelne Bild gespielt habe, um ein gut aussehendes Ergebnis zu erhalten, obwohl ich nicht weiß, welche Art von Genauigkeit Sie für solch eine Art von Problem benötigen]
%Vor%Lassen Sie uns wissen, ob das noch nicht ausreicht.
Aus dem binären Bild wäre es ziemlich einfach, einen Kreis mit einer Hough-Transformation zu erstellen. Sobald Sie die äußere Grenze des Kreises haben, würde ich vorschlagen, die Grenze zu bluten und den Teil außerhalb der Grenze herauszuschneiden.
Ein anderer Ansatz besteht darin, Ihren Schwellenwert anzupassen. Es sieht so aus, als könnte man damit durchkommen. Sie benötigen möglicherweise einige morphologische Operationen, um eine saubere Kante zu erhalten. Die Verwendung eines Festplattenkerns hilft, die Form in einem guten Maße zu erhalten.
Tags und Links python opencv image-processing scipy