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

Schwerpunktsberechnung und einlesen einer Datei

 

Quarz2200
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 10.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2012, 12:56     Titel: Schwerpunktsberechnung und einlesen einer Datei
  Antworten mit Zitat      
Halloy zusammen,

bisher konnte ich mich in meinem Studium gut vor Programmierarbeiten drück, nun komme ich aber nicht drum rum mit Matlab zu arbeiten.

Aufbau:
Mit einem Laserstrahl wird auf eine Kammera gezielt. Diese zeichnet, dann einen größeren Punkt mit unterschiedlichen Intensitäten auf. Meine Aufgabe ist das Bild oder eine .txt Datei einzulesen, kommas in Punkte umschreiben und die Schwerpunktsberechnung des Punktes durchzuführen.

Die Werte in der Tabelle werden wie folgt aufgeführt:

121127165516023.apd 27.11.2012 16:56:53
Minimum Value 1,000000
Maximum Value 183,000000
Mean Value 37,084614
Standard Deviation 50,638695
Nb of Pixels 130,000000

X Position Y Position Value
610 369 10,000000
611 369 8,000000
612 369 10,000000
613 369 7,000000
614 369 11,000000
615 369 12,000000
616 369 11,000000
617 369 5,000000
618 369 6,000000
619 369 7,000000
620 369 10,000000
621 370 7,000000
622 370 6,000000
623 370 4,000000
624 370 7,000000
625 370 9,000000
626 370 8,000000
.......

Das einlesen der datei habe ich sofern es mir möglich war mit
Code:
a=load ('test.txt')

bewerkstelligt. Allerdings muss ich hierfür den Header manuell entfernen. Das problem mit dem Komma hat sich dabei auch selbst erledigt, da alle Werte mit ",00000" sind, lässt Matlab sie einfach weg.

Könnte mir jemand verraten wie der rest geht, oder mir zumindest gute tutorials zukommen lassen? Habe schon gegoogelt aber entweder bin ich zu blööd oder blind. Vielen Dank schonmal im Vorraus.
Private Nachricht senden Benutzer-Profile anzeigen
Verschoben: 12.12.2012, 14:46 Uhr von denny
Von Tutorials nach Grafiken und Plots


Quarz2200
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 10.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2012, 15:00     Titel:
  Antworten mit Zitat      
und mir fiel gerade wieder ein, dass das Bild und die txt.File die schwarzen Punkte nicht mit der Intensität 0 sondern ungefähr 10 angibt. Daher würde ich gerne alle Intensitäten unter 13 auf 0 setzen, oder nicht in die rechnung einbeziehen.
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 12.12.2012, 16:20     Titel:
  Antworten mit Zitat      
Hallo,

um welches Objekt handelt es sich? Ein Kreis? Und die angegebenen Punkte liegen im Inneren des Kreises? Um den Mittelpunkt zu berechnen, braucht man die Intensitäten doch gar nicht.

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 13.12.2012, 11:24     Titel: Re: Schwerpunktsberechnung und einlesen einer Datei
  Antworten mit Zitat      
Hallo Quarz2200,

Kommas in Punkte umwandeln:
Code:
S = fileread(FileName);
S = strrep(S, ',', '.');
fid = fopen(FileName, 'w');
if fid == -1, error('Cannot open file for writing'); end
fwrite(fid, S, 'char');
fclose(fid);

Das spätere Einlesen ginge mit TEXTSCAN, wobei man die Anzahl zu ignorierender Header-Zeilen angeben kann.

Nun gibt es mehrere Möglichkeiten das Zentrum zu bestimmen:
1. Der Schwerpunkt der Daten: Einfach der Mittelwert der mit den Intensitäten gewichteten Summe.
2. Hough-Transformation um Kreise zu detektieren: Damit kenne ich mich nicht aus.
3. Die erwartete Helligkeitsverteilung is eine Gauß-Kurve (oder?). Ein Parameter-Fit für die Koordinaten des Mittel-Punktes und den Radius (Halbwerts-Breite) wäre die genaueste Methode, aber auch die aufwändigste.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Quarz2200
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 10.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.12.2012, 12:16     Titel:
  Antworten mit Zitat      
@MaFam
es soll nicht der Mittelpunkt sondern der Schwerpunkt bestimmt werden, von Punkten innerhalb eines Kreises.

@Jan S
Danke schonmal.

Da der Laserstrahl vorher durch eine nicht perfekte Lupe verläuft, ist die Intensitätsabbildung des Punktes leider kein perfekter Gauß. Somit würde ich gerne Hilfe für den Mittelwert der mit den Intensitäten gewichteten Summen erhalten.
Private Nachricht senden Benutzer-Profile anzeigen
 
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 - 2025 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.