Farben auf eine feste Palette mappen
Verfasst: 15.03.2013 11:42
Hi, möchte gern einen Bildvergleich über den Farbanteil eines Bilder ausprobieren.
Meine Idee ist, eine feste Palette mit 8 Farben vorzugeben.
(Schwarz - Blau - Grün - Türkis - Rot - Mangenta - Gelb - Weis)
Das Bild wird also Pixelweise ausgelesen und die Farbe soll einem der obigen Farben
zugeordnet werden und ein Counter erhöht werden.
Mein Problem ist die Zuordnung. Von Deeem habe ich einen alten ASM Code gefunden
der die Differenz von 2 Farben ermittelt:
Und jetzt hängt sich gerade mein kleine graue Zelle auf
... bitte gebt mir mal einen Schubs in welche
Richtung ich denken muss... Danke!
Meine Idee ist, eine feste Palette mit 8 Farben vorzugeben.
(Schwarz - Blau - Grün - Türkis - Rot - Mangenta - Gelb - Weis)
Das Bild wird also Pixelweise ausgelesen und die Farbe soll einem der obigen Farben
zugeordnet werden und ein Counter erhöht werden.
Mein Problem ist die Zuordnung. Von Deeem habe ich einen alten ASM Code gefunden
der die Differenz von 2 Farben ermittelt:
Code: Alles auswählen
Procedure ColorDiff(c1,c2) ;-ASM Color Differnce by Deem
; DisableDebugger
!MOV Ecx,[p.v_c1]
!MOV Edx,[p.v_c2]
!SUB cl,dl
!JNC .no_carry_1
!NEG cl
!.no_carry_1:
!SUB ch,dh
!JNC .no_carry_2
!NEG ch
!.no_carry_2:
!ROR Ecx,16
!ROR Edx,16
!SUB cl,dl
!JNC .no_carry_3
!NEG cl
!.no_carry_3:
!XOR Ebx,Ebx
!MOV bl,cl
!MOV Eax,Ebx
!MOV bl,ch
!ADD Eax,Ebx
!SHR Ecx,16
!MOV bl,cl
!ADD Eax,Ebx
!MOV bl,ch
!ADD Eax,Ebx
ProcedureReturn
EndProcedure

Richtung ich denken muss... Danke!