WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

einzelne Pixel bestimmen und lokalisieren - Bildanalyse

 

newcomer
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 17.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.11.2014, 11:53     Titel: einzelne Pixel bestimmen und lokalisieren - Bildanalyse
  Antworten mit Zitat      
Hallo Leute,

ich will mit Hilfe von MATLAB Höhen bestimmen. Also angenommen ich habe ein binäres Bild, wobei die untere Hälfte schwarz, die ober Hälfte weiß ist.

Kann ich über Ablesen jeder einzelner Spalte der Matrix von unten nach oben bestimmen wann der erste weiße Pixel kommt und wenn ja, wie? Oder der letzte schwarze Pixel? Und somit auch die Höhen der einzelnen Pixel vom unteren Bildrand?

Und falls die Grenze zwischen Schwarz und Weiß uneben ist, finde ich durch Vergleich der Reihen der Matrix heraus in welcher Spalte der tiefste weiße Pixel liegt?

Danke schonmal!
Private Nachricht senden Benutzer-Profile anzeigen


Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 17.11.2014, 13:24     Titel:
  Antworten mit Zitat      
Moin,

du kannst nach jedem Pixelwert suchen:

Code:
[Zeile Spalte]=find(X==0);


Als Ergebnis bekommst du die Koordinaten für Zeile/Spalte. Beide kannst du auch sortieren mit
Zitat:
Zeile=sort(Zeile)
- dann auch für Spalte sortieren.

Was soll der "tiefste, weiße weiße Pixel" sein?

Grüße - Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
newcomer
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 17.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.11.2014, 15:19     Titel:
  Antworten mit Zitat      
Vielen Dank für die schnelle Antwort!

Also wenn die Grenze zwischen der schwarzen Fläche und der weißen Fläche in meinem binären System nicht geradlinig ist, dann unterscheiden sich die Anzahl der weißen bzw schwarzen Pixel pro Spalte ja geringfügig.

Und ich muss daraus eine gerade Linie als Grenze schaffen, mithilfe der Streuung und Varianz.

also denkt man sich die Matrix so:

1 1 1 1 1 1
1 1 1 1 1 1
1 0 1 0 0 0
0 0 1 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0

Und so muss ich doch iwie die Anzahl der schwarzen Pixel pro Spalte über allen Spalten mitteln, bzw Ausreißer außen vor lassen.

Ich hoffe ich konnte mich halbwegs ausdrücken!
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 18.11.2014, 07:50     Titel:
  Antworten mit Zitat      
Es ist mir zwar noch nicht ganz klar, aber ich denke du willst folgendes erreichen???:

1 1 1 1 1 1
1 1 1 1 1 1
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0

Man könnte das mit klassischen Methoden der Bildverarbeitung erreichen, die letztlich auch nur Matrizenberechnungen sind, aber es wird wohl wohl auch noch andere Lösungen geben. Auf deine Matrix bezogen geht das mit:

Code:
se=strel('line',2,0);
Res=imopen(X,se)
Private Nachricht senden Benutzer-Profile anzeigen
 
newcomer
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 17.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.11.2014, 09:48     Titel:
  Antworten mit Zitat      
Das Problem ist, dass die Farbgrenze in der Bildmatrix automatisch ermittelt werden und dann eben in diese Form 11111111 gebracht werden soll
00000000

(wobei es sich hier nur um einen kleinen Ausschnitt handelt).
Anschließend soll im Bild die Höhe bis zur Grenze gemessen werden.


Vielen Dank für die Antworten, ich bin neu auf diesem Gebiet und ziemlich aufgeschmissen. Laughing
Private Nachricht senden Benutzer-Profile anzeigen
Verschoben: 18.11.2014, 12:43 Uhr von denny
Von Programmierung nach Bildverarbeitung
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.