Erstmal Hallo an alle Matlab user und freue mich hier im Forum zu sein
Ich arbeite gerade an einer Aufgabe die mir gestellt wurde und vl könnt ihr mir helfen (wäre super )
Ich versuch mit ginput() ein bestimmten Bereich des farbbildes Bildes "auszuschneiden"
% Mit floor/ceil oder auch round auf den nächsten ganzzahligen Wert runden, um später die entsprechende Zeilen- und Spaltenindizes der Matrix zu erreichen
minx=floor(min(x));
maxx=ceil(max(x));
miny=floor(min(y));
maxy=ceil(max(y));
% Setzen der Elemente innerhalb der einzelnen Funktionen
bild2 = originalRGB(miny:maxy, minx:maxx);
% Darstellung des überarbeiteten Bildes figure imshow(bild2);
Das klappt auch eigentlich
nur wenn ich nun bild2 ausgebe ist das in s/w.
Als ich die Vektoren angeschaut habe von bild2 und originalRGB
ist mir aufgefallen das die originalRGB aus "3" Vekrtoren besteht (originalRGB,:,:1 originalRGB,:,:2 originalRGB,:,:3)
und der Bild2 Vektor besteht nur aus "1" (bild2(,:,:;1))
Ich denke das dadruch die Informationen verloren gehen ?
Ich würde mich freuen wenn mir jemand helfen könnte da ich dazu nix gefunden habe ?
Wenn man in einer Matrix nicht alle Dimensionen anspricht, wird automatisch der erste Index der nicht berücksichtigten Dimension ausgewählt.
Ich habe grade gemerkt dass das so nicht ganz stimmt. Wenn man zum Beispiel wieder obgenanntes Array hat der Dimension 2 x 2, dann kann man auch A(3) oder A(4) eingeben. D.h. wenn eine oder mehrere Dimensionen fehlen, dann werden diese einfach in die letzte angesprochene Dimension integriert. D.h. wenn ich wieder meine A-Matrix anspreche, dann fehlt die Dimension 2, d.h. die Dimension 1 hat dann 2 * 2 Einträge, wobei die Daten spaltenweise angehängt werden.
Vielen Dank für deine Hilfe
Hat echt super geklappt jetzt.
Und deine Ausführung war nach dem 2 mal lesen auch verständlich
und hab wieder was dazu gelernt
Nur hab ich jetzt ein weiteres Problem
Nachdem ich mich mal eingelesen habe über die ganzen Filter die es in Matlab gibt will ich jetzt nun das dieser Bereich den ich im Bild makiert habe mit
So nach einer nachtschicht bis 6 Uhr morgens hab ich es jetzt hinbekommen
das es auch ne Lösung zu dem Problem gibt falls andere user auch mal vor diesem Problem stehen
Code:
function pushbutton2_Callback(source, eventdata, handles) % source handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Holen des Bildes das geladen wurde
p = guidata(source);
%Mit floor/ceil oder auch round auf den nächsten ganzzahligen Wert runden, um später die entsprechende Zeilen- und Spaltenindizes der Matrix zu erreichen
minx=floor(min(x));
maxx=ceil(max(x));
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
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.