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

Darstellungsfehler bei surf-Funktion

 

.seb
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 05.05.11
Wohnort: Neubrandenburg
Version: 7.7.0 (R2008b)
     Beitrag Verfasst am: 16.05.2011, 14:28     Titel: Darstellungsfehler bei surf-Funktion
  Antworten mit Zitat      
Hallo,

habe folgendes Problem, welches ich bisher nicht lösen konnte:

Ich plotte eine Grafik per surf-Funktion, dann setze ich die Sicht auf obendrauf (view(0,-90). Bisher alles ok.
Dann habe ich - damit ich kein Rand habe - die Achsen auf vis3d gestellt und verborgen (visible off).

Nun erscheinen unerklärlichweise bei einigen Bildern Pixelfehler im Bild, die ich nicht beheben kann (siehe Anhang). Wenn ich die Achsenskalierung indes wieder auf eine andere Einstellung setze, z.B. axes square u.ä. ist der Fehler nicht mehr vorhaben, aber dafür habe ich dann wieder ein Rand um das Bild Rolling Eyes .

Was ist die optimale Einstellung, damit man keinen Rand um den Plot hat und keine Darstellungsfehler auftreten?


Update: Habe herausgefunden, dass das die Hintergrundfarbe der Figure ist, die da fälschlicherweise durchdringt, vielleicht sagt euch das was.

Grüße

Sebastian

bug.png
 Beschreibung:
dargestellt wird der auftretene Bug des Plots bei view(0,-90)

Download
 Dateiname:  bug.png
 Dateigröße:  23.44 KB
 Heruntergeladen:  521 mal
Private Nachricht senden Benutzer-Profile anzeigen


.seb
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 05.05.11
Wohnort: Neubrandenburg
Version: 7.7.0 (R2008b)
     Beitrag Verfasst am: 16.05.2011, 17:02     Titel:
  Antworten mit Zitat      
Hallo,

man muss in die Analen der Hilfeseiten von Matlab tauchen, um die notwendige Einstellung endlich zu finden (man lernt nie aus).

Damit das ganze erfolgreich ist, muss man bei der print-Funktion den Parameter "-zbuffer" setzen, so dass Matlab (zumindestens) beim Plotten in die Datei den Fehler nicht darstellt (im aktivierten Fenster ist er dennoch, aber das ist für die weitere Verarbeitung egal). Mit Zbuffer wird gewährleistet, dass auch nur das Sichtbare in der Ansicht dargestellt wird.


Grüße

Sebastian
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: 16.05.2011, 22:25     Titel:
  Antworten mit Zitat      
Hallo .seb,
Du kannst den Renderer einer FIGURE auch für den Bildschirm wählen:
Code:
set(gcf, 'Renderer', 'ZBuffer');

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 05.05.11
Wohnort: Neubrandenburg
Version: 7.7.0 (R2008b)
     Beitrag Verfasst am: 17.05.2011, 08:51     Titel:
  Antworten mit Zitat      
Jan S hat Folgendes geschrieben:
Hallo .seb,
Du kannst den Renderer einer FIGURE auch für den Bildschirm wählen:
Code:
set(gcf, 'Renderer', 'ZBuffer');

Gruß, Jan


Hallo,

vielen Dank. Das wurde angepasst.
(Ist ja für die Vorschau ganz interessant!)


Grüße

Sebastian
Private Nachricht senden Benutzer-Profile anzeigen
 
.seb
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 05.05.11
Wohnort: Neubrandenburg
Version: 7.7.0 (R2008b)
     Beitrag Verfasst am: 17.05.2011, 09:20     Titel:
  Antworten mit Zitat      
Hallo nochmal,

in diesem Zusammenhang habe ich noch ein kleines "Luxusproblem".
Wenn ich hochauflösende Bilder rendere und plotte und diese dann später so darstelle, dass die Bilder sehr vergrößert sind (gestreckt werden), habe ich bei den Farbverläufen ganz schwach dargestellte Streifen im Bild. Das wird nur deutlich, da die Farbverläufe sozusagen sehr gestreckt werden.

Ich habe die Colormap der surf-Funktion auf 4112 erhöht mit spürbarer Verbesserung. Doch an einigen Stellen habe ich immer noch diese Streifen, selbst wenn ich den Colormap-Umfang auf das Maximale (2^16) stelle.

Ich kann auch bei der imwrite-Methode die Farbtiefe auf 16-Bit pro Pixel stellen. Dann werden die Bilder riesig groß und die Streifen bleiben trotzdem. (also muss das Problem "davor" liegen)

Naturlich kann es auch sein, dass das Ausgabemedium diese Streifen verursacht. Der Monitor ist ein (recht guter) Dell 2408WFP.
Private Nachricht senden Benutzer-Profile anzeigen
 
Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 29.06.2011, 11:56     Titel:
  Antworten mit Zitat      
wenn die im Matlab sind würde die streifen mitwandern, wenn du das figure verschiebst. davon geh ich mal aus.

du meinst die streifen, die man auch hier
http://www.mathworks.com/help/techdoc/ref/colormapeditor.html
sieht, oder?

Hatte mal die Diskussion beim Crysis-Himmel, der bei 16-bit Scheisse aussah - ich war aber fest davon überzeugt, dass es nicht an den "wenigen" Farben lag. Hast du dir die Colormap-Matrizen dann nach der Erhöhung mal angesehen? Ggf. kann du ja einen kleinen Teil plotten und gucken, ob's daran liegt.
_________________

Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
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.