|
|
Koordinaten für bestimmte Werte suchen |
|
maxwell.hein |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 10.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 09:40
Titel: Koordinaten für bestimmte Werte suchen
|
|
Hallo liebe Forum-User,
ich habe folgendes Problem.
Ich habe ein schwarzes Bild, in dem ist ein Punkt, der weiß ist.
Mein Ziel ist es, die Koordinaten dieses Punktes zu ermitteln.
Für die Funktion gehe ich zum Testen davon aus, dass ich das schwarze Bild habe (Dimensionen etwa 600x400 Pixel) und im Bild oben links ist ein weißes Quadrat (3x3 Pixel).
Wie kann ich jetzt die Koordinaten für jedes einzelne weiße Pixel bestimmen?
Hat jemand einen Vorschlag oder eine Idee?
Viele Grüße
Maxwell
|
|
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 09:48
Titel:
|
|
|
|
maxwell.hein |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 10.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 10:17
Titel:
|
|
Danke Hubertus, für deine schnelle Antwort.
Sowas ähnliches hatte ich auch schon,
nur macht die Ausgabe für mich wenig Sinn oder ich verstehe sie einfach nicht!
für das angehängte Bild, erhalte ich folgende ausgabe:
x =
3
4
5
3
4
5
3
4
5
3
4
5
3
4
5
3
4
5
3
4
5
3
4
5
3
4
5
y =
3
3
3
4
4
4
5
5
5
603
603
603
604
604
604
605
605
605
1203
1203
1203
1204
1204
1204
1205
1205
1205
Kann mir das jemand erklären?
Grüße
Beschreibung: |
Das ist das verwendete Bild. Oben links das kleine weiße Quadrat. |
|
Download |
Dateiname: |
test.png |
Dateigröße: |
1.81 KB |
Heruntergeladen: |
1094 mal |
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 10:23
Titel:
|
|
Dann stimmt irgend etwas mit dem Bild nicht. Du kannst die Suche prüfen:
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 16.07.2013, 10:35
Titel:
|
|
wenn du das bild einliest ist es keine 400x600 matrix sonder 400x600x3
darum auch 3 mal so viele werte weil in I(:,:,2) und I(:,:,3) auch 255 sind
wenn du nur solche bilder hast würde zb auch
reichen.
oder
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 10:48
Titel:
|
|
Hallo Winkow,
das ist richtig, dass er 3x soviel Werte hat, aber die Werte verteilen sich auf x,y,z. Er hat aber eine ganze Liste von Werten und nach seiner Aussage nur 1 Punkt, der weiß sein soll.
|
|
|
maxwell.hein |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 10.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 11:04
Titel:
|
|
wieso wird es denn dann zu einer 400x600x3 Matrix?
es ist schon kein einzelner Punkt, sondern eine Fläche von mehrer Pixel Größe.
vielleicht erläutere ich mein mal etwas genauer:
Ich habe ein Video, das durch Backgroundsubtraction bearbeitet wird, und daraus werden die einzelnen Frames genommen, die in etwa wie das angehängte Bild aussehen.
Auf dem Bild ist ein weißer "größerer" Punkt in der rechten Hälfte zu erkennen, um den sich alles dreht.
Ziel ist es, die "gemittelten" Koordinaten dieses Punktes im Frame festzustellen, und dabei vorher, wenn möglich, das Rauschen (oben links und in der Mitte) herauszufiltern.
Und das dann für eine Reihe von Frames.
Grüße
Beschreibung: |
|
Download |
Dateiname: |
bee.png |
Dateigröße: |
8.87 KB |
Heruntergeladen: |
1015 mal |
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 11:26
Titel:
|
|
Ok, das sieht etwas anders als deine Eingangsfrage aus, erklärt jetzt, warum du so viele Einträge erhalten hast. Wenn sich alles auf den Bereich in Bildmitte konzentriert, würde ich zunächst die anderen Pixel entfernen. Dann bleibt dein gesuchter Bereich über. Um die Pixel am Rand zu entfernen, kannst du die Funktion "imclearborder" verwenden. Dann bleiben noch 3 Pixel, auch etwa in Bildmitte übrig. Die kannst du als Rauschen ansehen und mit einer Rauschfunktion entfernen. Passend wäre der Medianfilter, weil er nur einzelne Störpixel entfernt und dein Array nicht antastet.
|
|
|
maxwell.hein |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 10.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 11:33
Titel:
|
|
imclearborder ist glaube ich nicht das richtige.
um noch weiter zu erklären:
Ziel ist am Ende Stereovision, d.h. ich brauche Bilder mit der gleichen Größe.
Habe grade imclearborder genutzt, der macht mir dann das gesamte Bild Schwarz.
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 16.07.2013, 11:41
Titel:
|
|
Zitat: |
wieso wird es denn dann zu einer 400x600x3 Matrix? |
weil er es nicht als grauwert einliest sonder farb bild und ein farbbild nunmal 3 werte hat RGB. zur bildverarbeitung giebt es glaub ich auch ein tutorial bei image processing toolbox. da werden reiskörner gezählt oder so.
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 11:42
Titel:
|
|
Das Problem ist, ich kann dein Bild nicht übernehmen und habe so ein ähnliches gemacht. Versuche dann, das Bild zu entrauschen. Dabei ist die Filterwahl entscheidend, damit dein gesuchtes Array nicht verändert wird. Versuche mal:
http://www.mathworks.com/matlabcent.....5-hybrid-median-filtering
Das Problem der Bildgröße verstehe ich nicht. Die Bildgröße wird doch nicht verändert.
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 12:49
Titel:
|
|
Es gibt sehr viele Methoden Störpixel zu entfernen. Manchmal hilft aber auch eine ganz einfache. Wenn deine Störpixel dunkler als dein gesuchtes Array sind, kann man sie auch ganz einfach entfernen:
|
|
|
maxwell.hein |
Themenstarter
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 10.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 12:58
Titel:
|
|
Ich weiß nur nicht genau, wie hell mein gesuchtes Array ist.
Kann unter umständen sein, dass es auch dunkler ist, als manche Störpixel.
Mit imclearborder komm ich nach wie vor nicht zurecht, entweder sind dann weiterhin Störpixel vorhanden, oder alle weg.
|
|
|
Hubertus |
Forum-Meister
|
|
Beiträge: 1.034
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.07.2013, 13:02
Titel:
|
|
Messe deine gesuchtes Array mit: "impixelinfo" oder "impixelregion" aus. Da kannst du die Werte ablesen. Impixelregion ist vl. interessanter. Du mußt nur den Bereich so gro0 mit der Lupe vergrößern, bis Werte angezeigt werden. Also Bereich ganz klein zusammenschieben.
Es ist vielleicht sinnvoller, das zuerst zu machen, denn filter helfen nur weiter, wenn die Störpixel gleich hell wie dein Array sind.
|
|
|
|
|
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.
|
|