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

*.tif datei in plot einfügen und Achsen dazu einfügen

 

moichn

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2013, 10:31     Titel: *.tif datei in plot einfügen und Achsen dazu einfügen
  Antworten mit Zitat      
Hallo.
Ich muss für die Uni ein Programm schreiben in dem ich mehrere Werte eines Bohrkerns vergleichen will. Hierzu will ich in den Plot ein Bild vom Bohrkern (*.tif - Datei) einfügen und an diesen die selbe x-Achse wie zu meinen anderen Plots anfügen. Jedoch fehlt mir dazu der Befehl oder er ist falsch. Die x-Achse soll von 0 bis 0.1 reichen. Bisher habe ich es so versucht, leider klappt das nicht, da so keine Achsen eingefügt werden und das Bild nur noch Mintgrün dargestellt wird.

Code:
grafik = imread ('image.tif');
x_neu = (0 : 0.1);
y_neu = (-1 : 1);
imagesc (x_neu, y_neu, imshow (grafik))


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 26.06.2013, 10:55     Titel: Re: *.tif datei in plot einfügen und Achsen dazu einfügen
  Antworten mit Zitat      
Hallo moichn,

Du kannst das Bild entweder über IMAGESC, oder IMSHOW, oder IMAGE darstellen. Aber Du benötigst nur einen der Befehle. Details dazu findest Du natürlich unter z.B. "help image".

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
moichn

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2013, 11:28     Titel: Re: *.tif datei in plot einfügen und Achsen dazu einfügen
  Antworten mit Zitat      
Danke Jan für deine schnelle Hilfe, das war natürlich ein grober Schnitzer von mir, habe dies jetzt aber geändert. Jetzt habe ich eine Skala um das Bild, aber sie ist trotzdem nicht nach meinen Wünschen. Denn jetzt wird die x-Achse im Bereich von 0 bis 2.5 x 10^4 angegeben, obwohl ich eigentlich von 0 bis 0.1 gefordert habe. Außerdem wird das Bild auch total gestaucht, so dass die einzelnen Teile nicht mehr gut erkennbar sind. Ich hätte es gerne im gleichen Seitenverhältnis wie es vorliegt nur einfach mit einer x-achse von 0 bis 0.1 aber das klappt leider nicht. Hast du eine Idee wie ich das machen kann?

Mein jetziger Code sieht so aus:
Code:
grafik = imread ('img.tif');
x_neu = (0 : 0.1);
y_neu = (0 : 4);
imagesc (x_neu, y_neu, grafik)
 
moichn

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2013, 12:16     Titel: Re: *.tif datei in plot einfügen und Achsen dazu einfügen
  Antworten mit Zitat      
Ich habe jetzt einen Plotbefehl gefunden, bei dem ich mir Achsen für das Bild anzeigen lassen kann, allerdings ist das die Pixelanzahl. Weiß jemand wie ich stattdessen eine von mir gewählte Skala einfügen kann?

Code:
imshow (grafik)
iptsetpref('ImshowAxesVisible','on');
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 26.06.2013, 12:26     Titel: Re: *.tif datei in plot einfügen und Achsen dazu einfügen
  Antworten mit Zitat      
Hallo moichn,

"Das klappt nicht" ist keine gute Fehlerbeschreibung für ein Forum. Die Kopie der vollständigen Fehlermeldung oder die genau beschreibung des Unterschieds zwischen Erwartungen und Ergebnissen ist besser.

Was erwartest Du als Ergebnis für "0:0.1"? Das ist der Vektor in Schritten der Größe 1 von 0 bis 0.1, als genau der Skalar 0.
Ich vermute suchst nach:
Code:
x_neu = linspace(0, 0.1, size(grafik, 1)); % oder size(grafik, 2)?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
moichn

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2013, 12:42     Titel: Re: *.tif datei in plot einfügen und Achsen dazu einfügen
  Antworten mit Zitat      
Danke nochmals für deine Hilfe Jan. Ich versuche mal das Problem besser zu erklären.
Wie gesagt habe ich einen Dünnschliff von einem Bohrkern, der nur 10 cm lang ist und bei dem verschiedene Werte gemessen wurden. Diese habe ich miteinander verlglichen, Plots erstellt und gepostet. Diese Plots haben alle die selbe x-Achse und zwar von 0 bis 0.1 (also die 10cm in m).
Jetzt möchte ich das Bild von dem Bohrkern darunter plotten, damit man genau sieht, wo sich die Werte ändern und wie an dieser Stelle der Bohrkern aussieht. Dazu wäre es gut, wenn ich an das Bild auch die selbe x-Achsenbeschriftung wie bei den anderen Plots habe, also von 0 bis 0.1.

Das klappt auch nach deiner Hilfe mit folgendem Befehl
Code:
grafik = imread ('image.tif');
x_neu = linspace(0, 0.1, size(grafik, 1));
y_neu = (0 : 4);
imagesc (x_neu, y_neu, grafik)


allerdings tritt hierbei das Problem auf, dass das Bild des Bohrkerns "gestaucht wird", sich also das Größenverhältnis so ändert, dass nichts mehr genau zu erkennen ist.

Dies würde sich allerdings dadurch lösen können wenn ich den Befehl
Code:
imshow (grafik)
iptsetpref('ImshowAxesVisible','on');


Hierdurch wird das Bild im richtigen Verhältnis geplotet und es ist eine x-Achse vorhanden, die jedoch anscheinend die Pixelanzahl anzeigt (also von 0 bis 2.5 x10^4 geht.

Das Problem könnte man also lösen, wenn man entweder irgendwie auf das richtige Seitenverhältnis im ersten code kommen könnte oder wenn man im zweiten Code die x-Achsenbeschriftung ändern könnte. Leider bin ich dabei total überfragt.

Ich hoffe du verstehst was das Problem ist, es wäre natürlich deutlicher wenn ich dir die Bilder die bei den einzelnen Codes herauskommen zeigen könnte, nur das darf ich ledier nicht.

Gruß, moichn
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 26.06.2013, 13:17     Titel: Re: *.tif datei in plot einfügen und Achsen dazu einfügen
  Antworten mit Zitat      
Hallo moichn,

Ich hätte erwartet, dass man auch für y_neu ein LINSPACE benötigt.

Hilft Dir vielleicht dies schon weiter:
Code:

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
moichn

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.06.2013, 13:40     Titel: Re: *.tif datei in plot einfügen und Achsen dazu einfügen
  Antworten mit Zitat      
Also ich habe auch das linespace für y eingefügt. Jedoch hat das am Problem nichts verändert.
Zu diesem axis equal, wo genau soll ich das denn einfügen? Außerdem habe ich im Internet folgendes dazu gelesen

Zitat:
The command axis equal forces the plot to have equal scale on the vertical and horizontal axes.


Und das würde das Problem ja nicht lösen, ich will ja dass das Bild genauso rechteckig bleibt wie es ist und zwei verschiedene Achsenbeschriftungen...
Diesen Code habe ich nun verwendet

Code:
x_neu = linspace(0, 0.1, size(grafik, 1));
y_neu = linspace(0, 4, size(grafik, 1));
axis equal;
imagesc (x_neu, y_neu, grafik)


Leider hat das nichts gebracht, das Bild wird zwar jetzt immernoch mit der richtigen Achsenbeschriftung ausgegeben, aber es ist immernoch "zusammengestaucht", also eher quadratisch und nicht so rechteckig wie es sein soll.
Gruß, moichn
 
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.