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

> Bilder mit "imread" oder "load" e

 

stoxxii

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2013, 08:39     Titel: > Bilder mit "imread" oder "load" e
  Antworten mit Zitat      
Hallo User-Gemeinde,
Hallo Admins,

ich habe eine Frage zum Einlesen von Bildern mit "Load" oder mit
"imread" ...
Ihr kennt das Standard-Modell-Bild in Matlab "Clown" ...
Das kann man mit "imread" und mit "Load" laden, einlesen ...

"Imread" erzeugt - glaube ich - aber nur bei tif - Format Bildern 2 Matrizen ...
eine 3-Felder Matrix und eine Color-Map-Matrix , soweit ich mich korrekt ausdrücke ...

Im Anhang habe ich ein Bild im jpg - Format...
Kann man da auch das Bild so umwandeln, das man es wie beim Bild "Clown" mit dem load - Befehl einlesen kann ??
oder müßte ich irgendwie anders mein Ara-Bild vorher umwandeln in anderes Format ??? .... über paint oder soo ...

Ich brauch so eine Felder-Matrix, wie Sie beim Bild Clown bereits von Matlab eingespeichert,
vorprogrammiert ist ... um das Bild mit kleineren "Rechtecken" auszuschneiden ...

Danke für Programmier-Tips und Hinweise vorab...
Beste Grüße
stoxxii

AraPaar.jpg
 Beschreibung:

Download
 Dateiname:  AraPaar.jpg
 Dateigröße:  321.29 KB
 Heruntergeladen:  769 mal


Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 19.08.2013, 09:21     Titel:
  Antworten mit Zitat      
Moin,

wenn du das Bild mit imread öffnest und dann mit save speicherst, kannst du es beim nächsten Mal mit load öffnen. Das Bild ist dann im *.mat Format gespeichert.

Aber ich sehe da keinen Vorteil!? Was meinst du mit der Feldermatrix?

Grüße - Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
stoxxii

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2013, 09:36     Titel: > Bild-weiter-Verarbeitung besser mit Load möglich
  Antworten mit Zitat      
Hallo Hubertus,

dank für den kleinen Hinweis ...
Ich habe vorgehabt, z.B. Bilder zu "cropen" auszuschneiden ...
"rechtwinklig" oder "kreisförmig" ... mit "imwrite" , den Befehl kenne ich bereits

mit "Alphadata" habe ich eine Variante gefunden, um kreisförmig auszuschneiden ...

Aber ohne diese Programmier-Schritte via "Alphadata" habe ich noch keine
Möglichkeit gehabt, kleinere Rechtecke oder Kreise vom Bild auszuschneiden ...
oder eventuell noch ein paar andere praktische Dinge zu programmieren ...
die ich mir in irgendwelchen Scripten ansehen konnte ...

Vielleicht darfst du mir noch ein Programmier-Tip zum Rechteck -Auschnitt
zeigen ???

Danke vorab...
beste grüße
stoxxii
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 19.08.2013, 09:43     Titel:
  Antworten mit Zitat      
Um die Aufgabe zu lösen brauchst du keinen load-Befehl. Es gibt sehr viele Möglichkeiten für einen Bildausschnitt mit Matlab. Eine sehr komfortable Funktion ist diese:

http://www.mathworks.com/matlabcent.....tent/SelectImagePortion.m

Wenn du noch eine andere Möglichkeit suchst, melde dich bitte.
Private Nachricht senden Benutzer-Profile anzeigen
 
stoxxii

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2013, 09:51     Titel: >> Teile der BildMatrix auf Zero oder NaN setzen
  Antworten mit Zitat      
hallo Hubertus,

ich glaube, die Variante kenne ich , mit dem Cursor Eckpunkte plazieren ...

Nein, diese Möglichkeit meinte ich nicht ,
Ich bin an einer Programmierung dran, wo ich einen ausgewählten Bildausschnitt
bzw. damit eine bestimmte Anzahl von Elementen dieser Bild-Matrix auf "Null" oder "NaN" setze ...
aber ich versteh es nicht richtig , abkucken allein reicht oft nicht aus ...

naja, vielleicht kennst du einen Kollegen von Dir , der ein Programm-Tip hat ...

grüße
stoxxii
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 19.08.2013, 09:57     Titel:
  Antworten mit Zitat      
Also, ich brauche keinen Kollegen. Ich muss nur verstehen, was du meinst. Teile einer Matrix auf NaN zu setzen ist eigentlich ganz einfach - wenn du nicht etwas anderes meinst:

Code:
I((1:300),(1:500))=NaN;
Private Nachricht senden Benutzer-Profile anzeigen
 
stoxxii

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2013, 10:31     Titel: >> Bild-Ausschnitt selektieren und ausschneiden
  Antworten mit Zitat      
Halloo Hubertus,

danke nochmal ... für deine Müh...
genau so etwas nutze ich schon, ist nicht schlimm ...

Aber ich dachte, man kann dann Alle die Elemente der Bild-Matrix auschneiden, die Außerhalb des selektierten Rechtecks sind ...

und das geht wohl soo nicht , wie ich mir das gern zusammen reime ...
um das Beispiel-Foto von den Ara-Paar zu nehmen :
Code:

[Pic] = imread('AraPaar.jpg');
imshow(Pic)
axis xy                        % nur als Orientierung
I((300:500),(500:700))=NaN;
imwrite(Pic(~I))         % oder so ähnlich
 


naja, vielleicht kannst du jetzt noch eine Idee zeigen, falls es so oder so ähnlich überhaupt geht .. wie denke ...

danke...
grüße
stoxxii
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 19.08.2013, 11:20     Titel:
  Antworten mit Zitat      
Wenn du einen Bereich ausschneidest, bleibt der Rest übrig und das ist es, was du suchst!? Irgendwie habe ich heute Probleme, deine Frage zu verstehen und gebe dir eine Antwort auf "Gut Glück":

Code:
I=imread('saturn.png');
R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);
R(523:877,403:763)=0;
G(523:877,403:763)=0;
B(523:877,403:763)=0;
X=cat(3,R,G,B);
imshow(X)


Das ist ein Beispiel von vielen. Es geht auch mit einer Schleife und....
Wenn das immer noch nicht das ist, was du suchst, einfach wieder melden. Kein Problem!

Edit:

Das Beispiel war nur so ausführlich, weil man damit auch die Farben des Ausschnittes beeinflussen kann ( für andere Beispiele) und man den Ablauf besser versteht. Es geht auch mit folgender Kurzform:

Code:
I(523:877,403:763,:)=0;
Private Nachricht senden Benutzer-Profile anzeigen
 
stoxxii

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2013, 18:27     Titel: > danke, so in die Richtung geht es
  Antworten mit Zitat      
Halloo Fourmmeister,
halloo Hubertus,

danke nochmal für den ausführlichen Programm-Code ...
du wirst schreien - selbst den kannte ich, konnte den aber nicht richtig umsetzen ...

Nur wirklich genial wäre es gewesen, wenn Du mein Mega-Picture von den "Aras"
verwendet hättest ..

ich arbeite noch mit dem alten Matlab 6.5R13 ..
naja, ich bin halt kein Mathematiker ...

nochmal s Danke für deine Geduld ...
ich weiß, ich formuliere meine fragen oft nicht klar ...

grüße
stoxxii
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 20.08.2013, 06:01     Titel:
  Antworten mit Zitat      
Dann warst du ja schon auf dem richtigen Weg. Ich kann nur tagsüber eingeschränkt den Matlabrechner für solche Zwecke nutzen Darum konnte ich dein Bild nicht übernehmen.

Solltest du noch Fragen haben, sende möglichst den Code, der Probleme macht. Dann sind wir schneller am Ziel.

Wenn du NaN-Werte benötigst, musst du vorher zu double oder im2double wandeln. NaN wird unter uint8 als Null abgebildet. NaN und Null sehen in der Figur gleichsam schwarz aus.

Viel Glück!
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.