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

Erstellen eines selbstdef. farbigen Checkerboards

 

hotelbravo
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 14.03.11
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 27.04.2011, 13:20     Titel: Erstellen eines selbstdef. farbigen Checkerboards
  Antworten mit Zitat      
Hallo zusammen,

ich möchte in Matlab gerne ein Color-Checkerboard erstellen.

Das sollte bspw. so aussehen, dass man 4x6 Felder hat und jedes Feld 1 breit und 1 hoch ist.

In diesen Feldern sollten dann eigene definierte Farben dargestellt werden (sollte dann später mit Macbeth-Colorchecker verglichen werden).

Das Problem ist nun leider, dass ich hiervon zu wenig Erfahrung hab und auch im Forum bzw. im Internet selbst nichts geeignetes gefunden hab.

Wäre daher um Eure Hilfe (Beispiel-Code) sehr dankbar!!!
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: 27.04.2011, 13:40     Titel:
  Antworten mit Zitat      
Moin,

vorweg gesagt, gibt es wahrscheinlich auch andere Wege. Aber mit ein bischen basteln könnte es wie folgt gehen:

Code:
for x=1:1000;  
for y=1:1000;
I(x,y)=0.5;   % Graue Matrix als m*n
end
end
I2=cat(3,I,I,I);  % aus m*n wird m*n*3
R=I2(:,:,1);
G=I2(:,:,2);
B=I2(:,:,3);    % Separieren der Kanäle
R(1:100,1:100)=125;   % Colorwert in einem Kanal verändern
I3=cat(3,R,G,B);   % linke obere Ecke hat jetzt ein rötliches Feld
 


Oder so, wenn die Farben egal sind:

http://www.google.de/imgres?imgurl=.....ei=6QK4Tab3NozMtAa6nfDqAw

Viele Grüße

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
hotelbravo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 14.03.11
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 27.04.2011, 14:00     Titel:
  Antworten mit Zitat      
Hey,

schon mal vielen Dank für deinen Tipp. Werde mal ein wenig selbst noch rumprobieren.

Falls aber noch besserer Code gefunden wird, wäre es super, wenn ihr den auch hier posten könnt's.

Denn es ist gut, wenn einem noch was beigebracht werden kann Smile
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: 27.04.2011, 14:58     Titel:
  Antworten mit Zitat      
Noch ein Zusatz. Mit der obigen Version erstellst Du die Komplementärfarben YMC. Um auf RGB zu kommen, müßtest Du invertieren. Dann entstehen in der obigen Version eine Vollfarbe und die dazugehörige Komplementärfarbe. Für ein Checkerboard nicht uninteressant!?

Ändern:

Code:
I(x,y)=1;

...
R(1:100,1:100)=0;
R=max(max(R))-R;
G(1:100,1:100)=0;
B=1:100,1:100)=0;
I3=cat(3,R,G,B);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
hotelbravo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 14.03.11
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 27.04.2011, 15:46     Titel:
  Antworten mit Zitat      
sehr cool !

Danke für die Unterstützung!
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: 27.04.2011, 17:27     Titel:
  Antworten mit Zitat      
Einen Fehler will ich noch bereinigen - das mit den Farben geht auch anders!

Code:
for x=1:200;
for y=1:200;
I(x,y)=NaN;    % hier die wesentliche Änderung
end
end
I2=cat(3,I,I,I);
R=I2(:,:,1);
G=I2(:,:,2);
B=I2(:,:,3);
R(1:100,1:100)=255;
G(100:200,100:200)=255;
B(1:100,100:200)=255;
I3=cat(3,R,G,B);
imshow(I3)



Die Tafel kannst Du auf weitere Felder und Farben ausweiten. Wenn Du zu den 3 Grundfarben weitere hinzufügen willst, mußt Du nur z. B, eine weitere Zeile zu R einfügen, mit den neuen Koordinaten. Ebenso in den anderen Farbauszügen. Für Mischfarben benötigst Du 2 Veränderungen in 2 Kanälen. 3 Veränderungen bringen nur Unbunt.

Code:
R(1:100,1:100)=255;
R(100:200,1:200)=255;


Viele Grüße

Hubertus[/code]
Private Nachricht senden Benutzer-Profile anzeigen
 
hotelbravo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 14.03.11
Wohnort: ---
Version: R2010b
     Beitrag Verfasst am: 28.04.2011, 10:50     Titel:
  Antworten mit Zitat      
Ich muss schon sagen, dass ich jede Menge wieder dazu gelernt hab.

Danke für die großartige Unterstützung !
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.