|
|
eigene Funktion zum einlesen der Bilder schreiben |
|
opto |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.02.2015, 16:49
Titel: eigene Funktion zum einlesen der Bilder schreiben
|
 |
Ich würde gerne eine eigene Funktion für das Einlesen der Bilder schreiben. Die Bilder sind folgendermaßen benannt z.B. "Kanal_1_+200.bmp". Dabei enthält jeder Bildname "Kanal_1_", da es noch Bilder auch für Kanal_2_ gibt. und +/- eine Zahl. pos gibt mit welcher Zahl angefangen werden soll und bis wohin raufgezählt werden soll. Also von -200 in 12,5 Schritten bis +200.
Und am ende werden die Bilder eingelesen. Die For schleife funktioniert auch. Nur verstehe ich nicht wie man daraus eine Funktion schreiben soll.
So habe ich es jetzt versucht. Aber es funktioniert nicht. Hab ich die erste Zeile falsch geschrieben?
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 09.02.2015, 17:10
Titel:
|
 |
warum übegiebst du pos an die funktion wenn du es eh neu anlegst?
Zitat: |
Aber es funktioniert nicht |
auch wenn diese fehlerbeschreibung auf den ersten blick sehr stichhaltig und eindeutig aussiht ergeben sich noch einige fragen. zb was funktioniert nicht? fehlermeldungen? ergebnisse? du überschreibst in jedem schleifen druchlauf deine variable "bild". also wird dir am ende nur das letzte bild zurück übergeben.
falls sich alle bilder im selben ordner befinden könnte man sich auch mit
behelfen. allgemein gibt es in diesem forum schon den ein oder anderen beitrag zum automatisierten einlesen von daten.
_________________
richtig Fragen
|
|
|
opto |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.02.2015, 17:36
Titel:
|
 |
es gibt keine Fehlermeldung. aber es wird auch kein Bild geladen, da kommen nur lauter Zahlen raus. was sollte ich den übergeben?
hab den code jetzt verändert.
aber jetzt ist das problem, dass im hauptprogramm versuche die Funktion aufzurufen:
kommt folgende Fehlermeldung:
|
|
|
opto |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.02.2015, 17:47
Titel:
|
 |
ich verstehe einfach nicht welche Parameter ich der Funktion übergeben soll und wie ich die Funktion im Hauptprogramm aufrufen kann.
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 09.02.2015, 17:51
Titel:
|
 |
Zitat: |
aber es wird auch kein Bild geladen, da kommen nur lauter Zahlen raus |
was erwartest du denn als ergebniss?
wenn deine funktion abc keine eingabe werte hat kannst du natürlich auch keine übergeben. das sagt dir ja die fehlermeldung.
deine funktion liefert jetzt als rückgabe argument den string 'Kanal_1_+200.bmp' nichts anderes. wenn du mehrere dinge zurück geben willst must du die auch speichern. indem du zum beispiel einen index bei jedem schleifen druchlauf erhöhst.
_________________
richtig Fragen
|
|
|
opto |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.02.2015, 12:05
Titel:
|
 |
ich möchte gern das die funktion die bilder einliest.
mein rückgabewert ist das bild. und was soll ich als eingabewert benutzen. ich habe doch nur die strings und pos in der funktion.
indes durchlaufen lassen , heisst dann so was wie n=1:33; und wo soll dieser index hin?
funktioniert nicht.
|
|
|
opto |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.02.2015, 12:18
Titel:
|
 |
bekomme so was als Fehlermeldung.
ich verstehe nicht wie ich den idex hochzählen soll bzw. benutzen soll. und wie ich die bilder speichern kann
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 10.02.2015, 13:50
Titel:
|
 |
ein bild hat normalerweise nicht nur einen eintrag und wie dir deine fehler meldung schon sagt kann man mehrere einträge nicht in ein element einer matrix schreiben. da die bild daten nummerisch sind könntest du sie in einem multidimensionalen array ablegen oder auch in einer cell.
grüße
_________________
richtig Fragen
|
|
|
opto |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.02.2015, 16:32
Titel:
|
 |
also könnte man so die bilder speichern oder?ich weiss nur nicht wie ich "n" hochzählen soll.
|
|
|
opto |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.02.2015, 17:07
Titel:
|
 |
also langsam verzweifle ich. das was ich vorhin gepostet habe, ergab eine Fehlermeldung, das die Dimensionen nicht stimmen.
also hab ich es so versucht:
aber das einzige was ich erreicht habe, ist das matlab abstürzt.
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 10.02.2015, 17:12
Titel:
|
 |
Hallo nehme statt 3-D Matrix lieber einen Cell-Array
so:
|
|
|
opto |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.02.2015, 17:26
Titel:
|
 |
ok, danke. ))
und wie kriege ich die Bilder aus dem cell array wieder raus. also wie kann ich auf die Bilder zugreifen?
|
|
|
opto |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.02.2015, 17:57
Titel:
|
 |
was bedeutet dieser befehl ? wozu ist es da?
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 10.02.2015, 21:59
Titel:
|
 |
|
 |
|
Zitat: |
ok, danke. ))
und wie kriege ich die Bilder aus dem cell array wieder raus. also wie kann ich auf die Bilder zugreifen? |
Ganz einfach über geschweifte Klammer und den Index(Zähler)
z.B:
Zitat: |
was bedeutet dieser befehl ? wozu ist es da?
|
NARGIN gibt die Anzahl der übergebener Parameter an die Funktion zurück.
Wenn ich z.B die Funktion ohne Parameter aufgerufen wird, gibt NARGIN eine Null zurück. Das habe ich deswegen gemacht, weil du an die Funktion pos übergibst und gleich überschreibst. Wenn das ein Default-Wert sein soll, dann sollte man NARGIN mit IF-Bedingung nutzen.
Dann wird pos auf ein default-Wert gesetzt, wenn nichts übergeben wird, abc()
Schaue dir die Befehle zuerst in der Doku, bevor du Fragen hier in Forum stellst
Erstens viel schneller als in Forum
Zweitens ist die Doku in Matlab super hilfreich und gut erklärt.
Und dazu gibt es gleich auch Beispiele zur Verdeutlichung
entsprechende Hilfeseite kann mit dem DOC Befehl aufrufen, so z.b zu NARGIN
Bitte auch Getting Started Kapitel in der Doku lesen.
Das steht schon alles zu Array/Cell Array usw.
|
|
|
opto |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.02.2015, 12:14
Titel:
|
 |
danke, für die tipps.
ich hab jetzt leider noch ein problem. ich habe folgendermaßen die funktion in meinem hauptprogramm aufgerufen.
da ich aber später die bilder binarisiere. meckert das programm das die datei ein cellarray ist und kein double.
also hab ich mit cell2mat versucht es umzuwandeln
nur jetzt zeigt das programm nicht das ganze bild, sondern nur ein ausschnitt. und auch keine einzelne bilder, sonder alle bilder in einem fenster zusammengefügt. gibt es eine möglichkeit jedes bild einzeln anzusprechen und in double zu verwandeln.
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|