![]() |
String aus einer Datei auslesen und verwerten
Guten Tag, ich hoffe dies hier ist die richtige Anlaufstation. Zunächst zu der von mir verwendeten Delphi-Version: Ich benutze Borland-Delphi7.
Meine Aufgabenstellung ist, ein Bild auszuwerten. Zunächst habe ich dieses in eine PPM-Datei umgewandelt. Nun möchte ich den Text einlesen und nach bestimmten Farben suchen (p3-Farben, also dreier Kombinationen von einzelnen RGB-Werten). Mein Problem: Ich habe bisher im Internet nichts gefunden, was mir helfen konnte. Lange Rede, kurzer Sinn: Wie lese ich ein Worddocument aus und verarbeite dann die entsprechende Arrays? Und ja, ich habe bereits in diversen Foren nach diesem Thema gesucht. Mit der Bitte um rasche Hilfe (habe ein Mathematikerteam im Nacken), Sangius |
Re: String aus einer Datei auslesen und verwerten
Zitat:
Also eine Textdatei nach diesen Regeln: ![]() Warum hast du das Bild nicht im Windows/OS2 Bitmap Format gespeichert ? Zitat:
|
Re: String aus einer Datei auslesen und verwerten
Ja, es handelt sich um das Portable Pixelmap format. Ich habe es mit word geöffnet und dann den Code in einem solchen Dokument gespeichert. Der File Access zu deinem Link wurde leider geblockt. Meine Vorgehensweise erscheint mir als am angemesstesten. Wie lese ich denn nun aus dem Worddokument die Werte aus und suche nach ihnen? (Dein Link funktioniert bei mir leider nicht).
|
Re: String aus einer Datei auslesen und verwerten
Hi Sangius,
Zitat:
Grüße vom marabu |
Re: String aus einer Datei auslesen und verwerten
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
![]() PPM ein; dann auf "Search Wotsit" klicken. Ich habe die Doku mal angehängt. PPM ist als ganz normale ASCII Textdatei definiert. Das Worddokument hat eine sehr komplexe Struktur; also keinesfalls WinWord ins Spiel bringen, sondern höchstens Notepad (oder ähnliche Editoren)!!! Schritt 1: Die PPM - Datei soll geladen werden. Setz ein Memo auf dein Formular und dann:
Delphi-Quellcode:
Da das PPM Format lesbar ist, wird der Inhalt im Memo angezeigt. Du kannst im Memo von Hand editieren und neu speichern.
begin
Memo1.Lines.LoadFromFile('C:\testbild.PPM'); end; Lies dazu: ![]() Schritt 2: Der Inhalt von Memo1.Lines wird zeilenweise gelesen und analysiert. Schritt 3: Es wird ein Bitmap erzeugt und in einem TImage anzeigt. Lies dazu: ![]() |
Re: String aus einer Datei auslesen und verwerten
Ich bekomme bereits eine Access Violation, wenn ich die Datei zu öffnen versuche. Außerdem weiss ich nicht, als was ich Memo1 definieren soll. Es handelt sich hierbei doch um eine Variable, oder etwa nicht?
Habe mir den Artikel durchgelesen, kann mir aber in meinem derzeitigen Zustand nicht sehr viel helfen. Könnte man es nicht zunächst - relativ unkompliziert - über ein .txt-Dokument probieren? Ich bekomme ja selbst das, dank diverser Fehlermeldungen, nicht hin. Zitat:
Zitat:
|
Re: String aus einer Datei auslesen und verwerten
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Sangius,
ich habe dir mal ein Beispiel erstellt, wie man ein Farbhistogramm für eine Bitmap erstellt. Die Umwandlung in ein anderes Format ist dafür nicht notwendig. Grüße vom marabu Habe einen Fehler im Programm beseitigt. Habe noch einen Fehler im Programm beseitigt... |
Re: String aus einer Datei auslesen und verwerten
Liste der Anhänge anzeigen (Anzahl: 1)
Ich möchte dir erstmal sehr danken. Wirklich, das weiss ich zu schätzen. Nur eine Sache fehlt mir noch:
Das Verständnis der Werte, die ausgegeben werden. Lade ich das Bild, das im Anhang ist, so erhalte ich die Werte: 000000=197 FFFFFF=25403 FFFFFFFF=132024 Was will mir das sagen? Woher kommst du noch gleich? |
Re: String aus einer Datei auslesen und verwerten
Hallo Sangius,
dein Bild ist quadratisch und hat eine Kantenlänge von 160 Pixeln - das macht insgesamt 25.600 Pixel. Mein Programm bestimmt die Farbe für jedes Pixel und wandelt sie in einen Hex-String um. 000000 ist schwarz, FFFFFF ist weiss, FF0000 ist blau, 00FF00 ist grün und 0000FF ist rot. Die letzte Zeile mit FFFFFF ist aufgrund eines Fehlers von mir entstanden, den ich soeben korrigiert habe - du solltest dir das Programm noch einmal herunter laden. Die Zahl hinter dem Gleichheitszeichen ist die Häufigkeit, mit der ein bestimmter Farbwert im Bild vorkommt. Alles klar jetzt? marabu |
Re: String aus einer Datei auslesen und verwerten
So weit, so gut. Was müsste ich machen, wenn ich verschiedene Graustufen differenzieren würde wollen? Z.B. RGB-Farben auslesen?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz