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

Bild in RGB-Streifen

 

Timmothie
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 19.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2018, 23:01     Titel: Bild in RGB-Streifen
  Antworten mit Zitat      
Hallo zusammen,

meine Aufgabe ist es, ein beliebiges Bild in drei gleich große Streifen zu unterteilen (der oberste Rot, der mittlere grün, der untere Blau).

Code:
img = 'peppers.png';

I = img;
[height width] = size(img);

%Unterteilt das Bild in 3 gleich große Streifen
x = round(linspace(1,height,4))

% Roter Teil
I(x(1):x(2),:,[2 3]) = 0;

% Gruener Teil
I(x(2):x(3),:,[1 3]) = 0;

% Blauer Teil
I(x(3):x(4),:,[1 2]) = 0;

imshow(I);


Fragen:
1. Wenn ich size(img) nehme, kriege ich als Rückgabe ans = 1 10, dass ist aber nicht die Anzahl ( bei den peppers sind es 512×348) der Pixel, womit ich das Bild vernünftig in drei Teile schneiden könnte. Muss ich eine andere Funktion nutzen um an die Anzahl der Pixel zu kommen, oder benutze ich size einfach falsch?

2. Wahrscheinlich jetzt schwer zu sagen, aber werden die drei Streifen dann seperat ausgegeben oder als ein "ganzes" Bild ?

PS: Ein Bild ist zur Veranschaulichung im Anhang.

Screenshot_20180819-235717.jpg
 Beschreibung:

Download
 Dateiname:  Screenshot_20180819-235717.jpg
 Dateigröße:  379.17 KB
 Heruntergeladen:  243 mal
Private Nachricht senden Benutzer-Profile anzeigen


matlabgo
Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 16.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2018, 23:13     Titel:
  Antworten mit Zitat      
Noch einer der Dienstag eine Klausur schreibt Laughing Laughing

Ich habe es so gemacht :

Code:
function[A] = RGBstreifen(pic)

A = pic;

for k=1:(size(A,1))*(1/3);
   
    A(k,:,2) = 0;
    A(k,:,3) = 0;
end

    for l=(size(A,1))*(1/3):(size(A,1))*(2/3);
       
     A(l,:,1) = 0;
     A(l,:,3) = 0;
     
    end

    for c = (size(A,1))*(2/3):(size(A,1))*1
        A(c,:,1) = 0;
        A(c,:,2) = 0;
       
    end
   
   
end
 


3 for-Schleifen sind zwar ziemlich umständlich, aber es funkt.

Viel Glück Dienstag!
Private Nachricht senden Benutzer-Profile anzeigen
 
matlabgo
Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 16.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2018, 23:25     Titel:
  Antworten mit Zitat      
Ahja noch mal zu deinem Text.
Du liest hier nur einen String ein.
Code:
img = 'peppers.png';


Deswegen auch 1 10 , da es 10 Zeichen sind.

Versuchs mal mit -- > imread('peppers.png')
Private Nachricht senden Benutzer-Profile anzeigen
 
Timmothie
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 19.08.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2018, 23:48     Titel:
  Antworten mit Zitat      
Ich fühle mich auf frischer Tat ertappt Embarassed

Vielen Dank für deine Antwort Smile
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 - 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.