Startseite › Foren › Deutsches LiveCode-Forum › Bilddateien vergleichen
Schlagwörter: Prozentualer Vergleich von Bilddateien
- Dieses Thema hat 6 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 3 Jahren, 6 Monaten von Peter_M.
-
AutorBeiträge
-
-
März 23, 2021 um 09:14 Uhr #27254
Hallo zusammen,
meine App überwacht Informationen eines Windowsprogramms und entnimmt ihm zu diesem Zweck, da meines Wissens außerdem Launch- Befehl keine anderen Interaktionsmöglichkeiten per LiveCode mit Windows bestehen, in regelmäßigen Abständen Snapshots von Teilen des Bildschirms. Die korrekte Funktion meiner App erfordert, dass kein Fremdfenster diese Informationen verdeckt. Daher lautet meine Challenge: wie kann ich den Prozentsatz ermitteln, zu dem zwei Bilddateien identisch sind (Byte für Byte Vergleich?)? Wäre für jede Anregung dankbar.Peter
-
März 23, 2021 um 11:17 Uhr #27258
Hi Peter,
versuchs mal ganz einfach mit einem Vergleich der Image-Größen (size of image x).
Bei einem kleinen Test auf meinem Rechner stelle ich fest, dass die sizes von zwei verschiedenen Screenshots auch tatsächlich unterschiedlich sind (allerdings sogar wenn sich nur die Uhrzeit im Menü ändert :-), während zwei Screenshots hintereinander die gleiche Größe haben.Vielleicht musst Du da ein paar Tests machen, ab welchem Unterschied wirklich ein anderes Fenster drüber liegt.
Happy Coding
Torsten -
März 24, 2021 um 00:11 Uhr #27278
Danke Torsten,das ist eine gute Idee, die auch schon hatte und tatsächlich auch schon aausprobiert habe. Die Challenge ist, dass mein Programm bei Termineinträgen automatisch Snapshots vom geänderten Terminkalender ins Web senden soll, aber gleichzeitig zeitweise überlagerte Fenster mit Patientendaten auf keinen Fall dort landen dürfen. Das ist leider mit unserer Idee nicht hundertprozentig gewährleistet. Um Termineinträge sicher von überlagerten Fenstern unterscheiden zu kônnen, wäre wegen fehlender Interaktionsmöglichkeiten von Livecode mit Windows nur eine Überprüfung geeignet, zu wie viel Prozent 2 Snapshots identisch sind….
Peter
-
März 24, 2021 um 14:45 Uhr #27290
Hallo Peter,
vielleicht kannst Du mit diesem VB-Script das gewünschte Fenster “nach vorne” holen und dann Snapshotten?
http://sonsothunder.com/devres/livecode/tips/proc001.htm
Ist einen Versuch wert!Gruß
Klaus
-
März 25, 2021 um 18:48 Uhr #27303
Hi Peter,
probier mal den Code hier. Der Handler misst die Farben des zuletzt erzeugten Bildes und zeigt die Anzahl der verschiedenen Farben an. Im Array sind auch die Häufigkeiten der Farben angeben, das könnte man auch benutzen. Je nachdem, wie Dein Interface mit den Patientendaten aussieht, könnte man auch schauen, ob deren Farben im Screenshot auftauchen und dann entspechend reagieren.
Happy Coding
Torstenon mouseUp put the imageData of last image into tData put the width of last image into tWidth put the height of last image into tHeight put tWidth * tHeight into tNumberOfPixel put tNumberOfPixel * 4 into tNumberOfbytes -- step through the imageData and get the RGB values of each pixel repeat with i = 1 to tNumberOfbytes - 4 step 4 put byteToNum(byte i+1 of tData) & "," & byteToNum(byte i+2 of tData) & "," & byteToNum(byte i+3 of tData) into tRGB add 1 to tArray[tRGB] -- make the RGB value the key of an array and add the frequency of that unique RGB value end repeat put the keys of tArray into tAllRGB -- now in tAllRGB are the unique RGB values of the image as list sort tAllRGB numeric by item 1 of each & item 2 of each & item 3 of each -- we sort the list put the number of lines in tAllRGB into tCountColors answer tCountColors && "verschiedene Farben" end mouseUp
-
März 26, 2021 um 09:36 Uhr #27316
Hallo Klaus und Torsten,
vielen Dank für eure Tipps. Das Hervorholen der Terminkalenderansicht wird leider nicht klappen, da das Praxisverwaltungsprogramm bei einigen Fenstern auf deren primärer Verarbeitung besteht. Das bedeutet, dass die periodischen Snapshots meiner App teilweise diese Fenster, die Patientendaten beinhalten können, mit aufnehmen. Vielen Dank für den Tipp mit der Farbanalyse, Torsten. Da müsste sich etwas mit anfangen lassen können. Ich werde mich melden, wenn und ob meine Anstrengungen erfolgreich waren…..LG
Peter -
März 26, 2021 um 09:56 Uhr #27317
Nachtrag: leider beinhalten die verdeckenden Fenster keine besonderen Farben. Allerdings sind die einzelnen Tage der Terminkalenderansicht durch senkrechte Linien getrennt….:-). Das kann ich mir zunutze machen, indem ich einfach teste, ob diese Linien durchbrochen sind und den jeweiligen Snapshot nur freigebe, wenn dies nicht der Fall ist. Vielen Dank noch einmal für den Denkanstoß!!
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.