|
|
Hough transform - Linien in einem Bild erkennen |
|
ursula |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.04.2011, 14:31
Titel: Hough transform - Linien in einem Bild erkennen
|
|
Hallo,
könntet ihr mir bitte weiter helfen???? versuche schon seid längerem die linien in einem bild zu erkennen, bzw deutlich als linien darzustellen, die ich dann voneinander abziehen kann. ich habs schon mit dem hough filter probiert, aber er will nicht so wie ich.....
im anhang ist das bild, das ich schon etwas bearbeitet hab. die linien, die ich verdeutlichen will sind die vertikalen dickeren linien.
hoffentlich könnt ihr mir helfen.
viele grüße, ursula
Beschreibung: |
|
Download |
Dateiname: |
linien.tif |
Dateigröße: |
354.83 KB |
Heruntergeladen: |
1480 mal |
|
|
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.04.2011, 11:15
Titel:
|
|
|
|
|
Moin,
das Problem sind die vielen kleinen Linien, die hier stören. Aus dem RGB-Bild würde ich zunächst ein S/W-Bild machen, da keine Farbnformationen verwertbar sind. Dann Deine gesuchten Linien stärken und versuchen, die vielen kleinen Störlinien zu entfernen. Notfalls dien Bereiche auf Weiß setzen.
Es gibt sicherlich mehrere Ansätze. Hier ist einer:
Eine weitere Funktion wäre "strel". Mit:
se=strel('arbitrary',[;-1 -1 -1;-1 8 -1;-1 -1 -1]);
%%% se=strel('line',3,152);
%%% se=strel('arbitrary',1/2*[1 1;-2 -2]);
%%% se=strel('arbitrary',[1 1 0;1 1 0;1 0 0]);
%%% se=strel('periodicline',2*2+1,[2 1]);
%%% se=strel('pair',[6 6]);
%%% se=strel('diamond',4);
%%% se=strel('disk',4,6);
%%% se=strel('disk',4);
%%% se=strel('rectangle',[1 1]);
%%% se=strel('square',10);
%%% se=strel('octagon',3);
Daraus müsste sich was machen lassen.
Ein schönes Wochenende
Hubertus
Edit:
Ich bin davon ausgegangen, dass es Dir um das Erkennen der Linien geht, weniger um die Hough-T. Die kannst Du nach dem Beseitigen der Störlinien immer noch ausführen.
|
|
|
aj.geissler |
Forum-Guru
|
|
Beiträge: 251
|
|
|
|
Anmeldedatum: 26.11.07
|
|
|
|
Wohnort: Seeheim-Jugenheim
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.04.2011, 09:36
Titel:
|
|
Hi,
wie mein Vorposter schon sagte: Zunächst das Bild säubern !
Jeder gesetzte Bildpunkt führt zu einem "Büschel" an Geraden, die alle durch den Bildpunkt gehen. Jede dieser Geraden hat aber eine andere Richtung. Rein theoretisch also unendlich viele Geraden im (r, phi)-Raum
Eine Linie führt also zu vielen Geradenbüscheln. Im (r, phi)-Raum gibt es dann "Häufungen", die dann ausgedünnt werden (können/müssen).
Zum besseren Verständnis einfach mal unter Wikipedia nachschauen.
Grüße
Andreas
|
|
|
Ursula |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.05.2011, 09:34
Titel:
|
|
ok, danke für die antworten ich versuche es das bild zu säubern
|
|
|
Lady |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.08.2011, 14:26
Titel:
|
|
Hey ihr,
ich sitze gerade an einem ähnlichen Problem. Ich komme allerdings nicht mit der strel Funktion klar. Kann mit jemand schreiben, wie man das "Säubern" durchführt?
Bei mir handelt es sich um ein Bild auf dem ein Krei und Querlinien zu sehen sind. Allerdings sind die Linien nicht durchgezogen sinden nur durch viele Punkte nebeneinander dargestellt.
Danke!
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.08.2011, 15:36
Titel:
|
|
Moin,
unter "Säubern" versteht man z.B. ds Entfernen von Rauschen, also von Non-Informationen. Dazu kann man TP-Filter/Median-Filter, evtl. auch Filterkerne anwenden. Meist wird man erst durch vergleichende Verfahren das optimalste Ergebnis erzielen. Eine auch nicht schlechte Methode ist das Indizieren von Störpixel, in dem man diese vom bekannten Wert auf einen "nicht störenden Wert" setzt.
Hubertus
|
|
|
Lady |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.08.2011, 15:43
Titel:
|
|
Hey Hubertus,
diverse Filter habe ich schon auf das Bild angewandt (sobel z.B.). Dachte ich könnte über Morphing die Querlinien entfernen, da mich diese stören. Über Filter bekomme ich sie nicht weg. Benutzt man in dem Fall die "strel-Funktion"? Und wenn ja wie genau?
Annahme, mein Bild sei die Matrix A.
P.S. Danke fürs schnelle Antworten
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.08.2011, 15:58
Titel:
|
|
Ich habe mal blind ein paar Funktionen beigefügt. Schau mal, ob die überhaupt die gewünschte Wirkung zeigen.
Beschreibung: |
|
Download |
Dateiname: |
im.doc |
Dateigröße: |
33 KB |
Heruntergeladen: |
1077 mal |
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.08.2011, 08:57
Titel:
|
|
|
|
Lady |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.08.2011, 09:39
Titel:
|
|
Guten Morgen Hubertus,
ich habe gestern alle deine Vorschläge ausprobiert. Die ersten paar liefern nur ein schwarzes, weißes oder rotes Bild (komplett). Die Filter funktionieren nicht, da die Kantenstärke des Kreises die gleiche ist, wie die Kantenstärke der Linien. Dachte vielleicht, dass man die waagerechten Linien irgendwie erfassen und dann löschen kann.
Ich schaue mir jetzt mal dein Tutorial an.
Wollte gerade noch das Bild anhängen, aber dazu muss man sich wohl erst registrieren ?
Grüßle
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.08.2011, 09:57
Titel:
|
|
|
|
Lady |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.08.2011, 11:26
Titel:
|
|
Also lieber Hubertus,
diese letzte Lösung haut mich um. Das finde ich echt genial! Die Morphings funktionieren nicht zufriedenstellend. Echt großes Lob von mir an dich!
Grüßle
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|