Auslesen der farbpalette eines Bild
- VB6
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 31 Antworten in diesem Thema. Der letzte Beitrag () ist von Agent.
-
-
-
Ich weiß zwar nicht genau was du meinst aber vielleicht helfen dir diese Seiten weiter:
shadoware.de/vb/tutorials/bitmapinfo.htmlGruß, Agent Smith
activeFlags = (lazy OR weary)
Lemgo-Verschwörung | Mathematics | VB-Paradise in blauDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Agent“ ()
-
den ersten link habe ich auch schon gefunden. Genau das will ich eigentlich haben, aber ich weiß net wie ich den code umschreiben muss. ich will nur des, wenn man auf Palette klickt, des dann die palette angezeigt wird. Ich will nämlich bilder anhande der farbpalette auf gleichheit prüfen. Das geht auch anders.
Danke für eure bisherigen antworten.
Homedom -
Also du möchtest alle Farben von einem bestimmten Bild auslesen und in einem anderen Bild vergleichen?
Dann würde ich das aber nicht unbedingt mit der Farbpalette machen. Einige Bildformate haben nähmlich gar keine. Du könntest alle Pixel des Bildes durchlaufen und wenn die aktuelle Farbe noch nicht vorhanden ist speicherst du dir die neuen Farben z.B. in einem Array. Was du dann genau mit einem anderen Bild vergleichen willst weiß ich nicht genau.Gruß, Agent Smith
activeFlags = (lazy OR weary)
Lemgo-Verschwörung | Mathematics | VB-Paradise in blau -
Eigentlich will ich das bild nicht auf Gleichheit prüfen, ich will prüfen, was beide gleich haben. Also, eigentlich will ich eine Software erstellen die mich am gesicht erkennt. Deswegen wollte ich das anhanbde der Farbpaletten machen. Doch ich habe herausgefunden, das es nicht geht. Habt ihr noch ne idee wie man die prüfen nicht korrekt auf gleichheit, sondern eher auf änlichkeit prüfen kann.
Danke homedom -
Oh, das ist ja noch schwerer als meine Texterkennung. Aber du könntest ja das Bild in schwarz/weiß umwandeln und dann versuchen Muster im Bild zu finden und mit deinem Muster zu vergleichen. Aber das mit einem bunten Bild zu machen ist viel zu schwer (verschiedene Belichtung, Kontraste, unschärfe, ...)Gruß, Agent Smith
activeFlags = (lazy OR weary)
Lemgo-Verschwörung | Mathematics | VB-Paradise in blau -
-
Du musst das schwarz/weiß-Bild auf eine bestimmte Matrix reduzieren, z.B. 12x12 Pixel. Dann kannst du alle Bilder nehmen, egal wie groß sie sind. Das machst du mit deinem Bild und einem anderen. Dann vergleichst du beide und erlaubst vielleicht 10% Ungenauigkeiten. Wenns weniger sind bist es es. Je größer die Matrix ist desto besser die Erkennung aber um so schwieriger ist eine Übereinstimmung. Dafür kannst du ein 2-dimensionales Array nehmen vom Typ Boolean. So hab ichs auch mit der Texterkennung gemacht.
Ich hoffe das was verständlich.Gruß, Agent Smith
activeFlags = (lazy OR weary)
Lemgo-Verschwörung | Mathematics | VB-Paradise in blauDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Agent“ ()
-
Nein, leider war das nicht sehr verständlich. Aber danke für den versuch.
Also, was ist ne matrix. Wie erlaube ich weniger als 10% ungenauigkeit. Wie lass ich es vergleichen?
Was ist ein 2d Array und was ist ty Boolean nochmal?
Ich hoffe du kannst mir diese Fragen noch beantworten. Ich hab ja gesagt ich bin ein Anfänger. hab eher etwas mit Java rumgemacht. bei basic hab ich mir immern nur Codes von irgendwelches seiten gehult.
Danke Homedom -
Also mit Matrix meine ich ein Art Tabelle mit z.B. 12 Zeilen und 12 Spalten (2-dimensional). Jede Zelle ist ein Pixel der Schwarz oder Weiß ist. In VB gibt es aber kein Datentyp schwarz oder weiß sondern nur Boolean (wahr oder falsch). True ist weiß, false ist schwarz. Du wandelst allso dein Bild in schwarz/weiß um. Dann ist es aber sicherlich zu groß zum vergleichen, also reduzierst du es auf z.B. 12x12. Das machst du auch mit dem anderen Bild. Dann vergleichst du beide Arrays, ob beide an der gleichen STelle true bzw false sind. Alle die nicht übereinstimmen zählst du. Dann rechnest du die FehlerQuote aus (Fehler/Gesamt) und wenn es mehr als z.B. 10% sind bist du es definitiv nicht auf dem Bild.Gruß, Agent Smith
activeFlags = (lazy OR weary)
Lemgo-Verschwörung | Mathematics | VB-Paradise in blauDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Agent“ ()
-
-
Du verkleinerst das schwraz/weiß-Bild mit einer APi und dann trägst du die 12x12 Pixel in das 12x12 boolean-Array. Und dann die Arrays vergleichen halt.Gruß, Agent Smith
activeFlags = (lazy OR weary)
Lemgo-Verschwörung | Mathematics | VB-Paradise in blau -
-
Du nimmst z.b. eine picturebox und lädst das bild rein mit LoadPicture (wenn du das kennst). Wie man bilder schwarzweiß macht findest du z.B. hier:
vb-fun.de/cgi-bin/loadframe.pl?ID=dotnet/tipps/tip0031.shtmlGruß, Agent Smith
activeFlags = (lazy OR weary)
Lemgo-Verschwörung | Mathematics | VB-Paradise in blau -
-
Ein 2-dimensionales Array kannst du so machen:
<pre>Option Base 1 //Array beginnt bei 1, nicht bei 0
Dim Matrix(12,12) As Boolean //Tabelle mit 12 Spalten und 12 Zeilen
For Spalte = 1 to 12
For Zeile = 1 to 12
Matrix(Spalte,Zeile) = ... //hier musst du die Farbe auslesen und zu boolean konvertieren (z.b. weiß=true)
Next Zeile, Spalte</pre>Gruß, Agent Smith
activeFlags = (lazy OR weary)
Lemgo-Verschwörung | Mathematics | VB-Paradise in blau -
Hi, also ich hab jetzt schon ein S-W bild. aber des mit dem " d Array habe ich immer noch nicht verstanden. und wie kann ich die farben auslesen und in ein boolean konvertieren?
Wo muss ich den obigen Quellcode von dir einsetzen?
Wäre umdeine Hilfe sehr dankbar. ich hab glück, das ichjemand gefunden haben der sich damit auskennt. Danke
Danek Homedom -
wie kann ich die farben auslesen
Wenn du eine PictureBox genommen hast mit der Point-Methode:
<pre>Farbe=Picture1.Point(X,Y)</pre>
und in ein boolean konvertieren?
Du fragst ab, ob der Pixel Schwarz oder weiß ist und so ergibt sich dann der boolsche Wert:
<pre>Matrix(X,Y)=(Farbe=&HFFFFFF)</pre>
Wenn die Farbe weiß ist (&HFFFFFF) ergibt das true, andernfalls false bei schwarz (&H0)
Wo muss ich den obigen Quellcode von dir einsetzen?
Die Option und Dim Zeilen kommen nach ganz oben. Der Rest in deine vergleichsprozedur nachdem du das Bild zu schwarzweiß umgewandelt & verkleinert hastGruß, Agent Smith
activeFlags = (lazy OR weary)
Lemgo-Verschwörung | Mathematics | VB-Paradise in blau -
-
Ähnliche Themen
-
Freak! - - Sonstige Problemstellungen