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

Linien auf dem Bild zeichnen

 

ImageGraph

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.08.2011, 17:10     Titel: Linien auf dem Bild zeichnen
  Antworten mit Zitat      
Ich möchte auf einem geplotteten Bild (imshow) bestimmte Pixeln mit Linien verbinden. Geht das?


Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 01.08.2011, 17:35     Titel:
  Antworten mit Zitat      
Moin;

soll das so aussehen?

Code:
I=imread('cameraman.tif');
figure; imshow(I)
hold on
plot([100 232],[15 15], 'r-');


Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
ImageGraph

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2011, 11:22     Titel:
  Antworten mit Zitat      
Vielen Dank! Es funktioniert! Aber bist du dir sicher, dass die Pixeln des Bildes mit den Werten in den Klammern übereinstimmen?
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 03.08.2011, 11:43     Titel:
  Antworten mit Zitat      
Ich habe mir das mal näher angesehen. Man kann das auch leicht prüfen.
Wenn ich in der 1. Reihe die Pixel von 2 bis 10 als Linie ausgebe, dann fängt der Strich auch beim 2. Pixel an, endet aber im 9. Pixel. Vorausgesetzt, ich speicher die Figur als *.tif ab. Im *.jpg Format gibt es Artefakte, die sich als Verschmierung in eine zusätzliche Reihe ausdehnen, und auch davor und danach (in der Reihe). Mit dieser Verschmierung wird aber das fehlende 10. Pixel erreicht - was natürlich fragwürdig ist, zumal eine zus. Reihe entsteht.

Ich denke, dass der "Verlust" von 1 Pixel mal wieder in der Zählweise begründet liegt. Komischerweise gibt es auch keine Fehlermeldung, wenn ich bei Null beginne (Spalte Null), obwohl es Null in der Matrix gar nicht gibt. Oder fängt der plot-Befehl bei Null an (macht in 1-dimens. Signalen wohl Sinn)
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: 03.08.2011, 13:05     Titel:
  Antworten mit Zitat      
Fehler gefunden.

Die Koordinaten stimmen in Matlab sowohl von der Reihe als auch von der Länge mit den tatsächlichen Pixeln überein. Der Unterschied zwischen Null und 1 ist ein halbes Pixel. Bei Null fängt der Strich am linken Rand an und bei 1 in der Mitte des 1. Pixel.

Plot nimmt die absoluten Werte, ist nicht begrenz auf Pixel. Es ist auch 1.2 usw. möglich.
Private Nachricht senden Benutzer-Profile anzeigen
 
ImageGraph

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 10:56     Titel:
  Antworten mit Zitat      
Hubertus, herzlichen Dank!!!
 
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.