Durchschnittsfarbe des Desktops ermitteln

Du könntest auch nen Screenshot machen in Photoshop ( falls vorhanden ) einladen und dann über Filter -> weichzeichnungsfilter –> Durchschitt , den durchschnittswert ermitteln
Er will doch ein Programm schreiben, dass das Backlight autom. refreshed, PS wäre da evtl. wegen Versuchen zu bestimmten Werten ganz hilfreich aber für das stand-alone-app nicht.

off-topic:
Leute bitte bleibt doch sachlich und streitet das eigentliche Thema nicht kaputt, mich würde das Endergebnis dieses Threads nämlich wirklich interessieren! Jetzt geben wir uns alle die Hand und gehen wieder friedlich zusammen spielen, ja? :cake:
 
also selbst eine lösung in java ist verflucht fix.
ich hab da gestern ein paar zeilen hingeklatscht. Jeder 5. pixel waagerecht und jeder senkrecht (ergibt parallele senkrechte linien alle 5 pixel) ausgewertet, um die durchschnittsfarbe des gesamten desktops zu ermitteln, war in einer nicht nennenswerten zeit zu erledigen. in dem moment, in dem ich den button geklickt habe, war die farbe schon berechnet. allerdings bin ich bei weitem kein grafikfuchs und hab keine ahnung, ob ich a) die durchschnittsfarbe richtig berechne und b) ob die farben, die mir da angezeigt werden, tatsächlich die durchschnittsfarben sind :)

edit: die beste lösung wäre wohl, sich eine gewisse anzahl von farbräumen zu definieren. z.b. blau +- 1000 rgb oder so und dann die häufigkeit der treffer in einem farbraum zu ermitteln. die durchschnittsfarbe von blau und gelb soll jawohl grün sein. das sieht sicher komisch aus =D
 
Zuletzt bearbeitet:
@ sebo@mac: ansich hast du zwar recht aber für die weiterverarbeitung benötige ich den RGB-Wert. Am besten rechnest du alle überprüften Farbpunkte zusammen bis am schluss etwas raus kommt von etwa: Rot: 15000 Grün: 10000 Blau: 22000
das rechnen wir dann per prozentrechnung auf eine scala von 100 runter und übergeben es an den Microcontroller der an den LEDs sitzt.

Kurze Erklärung:
Ich kann mit LEDs nicht einfach sagen: mach mal gelb.
In der LED Leiste sind Rote, grüne, blaue und weiße Leds verbaut. Um die richtige Farbe zu erhalten muss ich die ensprechenden leds blinken lassen um die richtige Mischung zu erhalten. also pro Sekunde rot 15 mal, grün 10 mal und blau 22 mal und damit erhalte ich die richtige Mischung. Das klinggt auf den ersten Blick etwas merkwürdig aber ist ganz normal bei LEDs da man diese nicht dimmen, also dunkler oder heller machen kann. Ich habe das zur genüge an anderen Projekten getestet.

Ich mach mich dann mal dran die Platine fertig zu bekommen,

@ sebo@Mac: Wäre klasse wenn du uns den erzeugten Quellcode dann hier posten könntest oder zum Download anbietest.
 
hab den algorithmus grad noch mal verändert. nu werden alle pixel ausgewertet. immernoch rasend schnell :)
da das wetter aber zu gut ist, mach ich das später (oder morgen) weiter und geh jetzt raus.
 
Hallo liebes Forum.
Ich würde gerne diesen Thread wiederbeleben!

Arbeite gerade an einem ähnlichen Projekt und könnte sehr gut Hilfe gebrauchen.

Die Zielsetzung ist sehr ähnlich wie die von themaverick.
Ich möchte die dominierende Farbe des Displays ermitteln und als RGB Signal an einen "Arduino" weitergeben, der dann LEDs steuert.

Es muss also ein Programm wie DigitalColor Meter (welches von Apple mitgeliefert wird) her welches den gesamten Desktop betrachtet und die errechneten Daten an den entsprechenden Serial-Port schickt.

Momentan arbeite ich an einem Algorithmus für JPG Bilder. Das ganze versuche ich in "Processing" - ist das schon der erste Fehler?

Stehe erst ganz am Anfang meines Projektes und habe leider sehr wenig Programmiererfahrung. Ich erwarte keine fertigen Programme oder Codes von Forenmitgliedern! Würde mich über eure Hilfe allerdings sehr freuen!!

noch utopisches End-Szenario:

ein Programm, dass es erlaubt bestimmte Bildschirmbereiche zu markieren, die anschließend in die Berechnung einbezogen/ausgeschlossen werden und dann über serielle Schnittstelle an eine RGB LED Leiste ausgegeben werden. (bei mehreren angeschlossenen Monitoren eine Auswahloption für die jeweiligen).

ein einfaches (GUI) Interface mit RGB Reglern (zum ausprobieren quasi) und diversen Modi:
- Display Analyse
- partielle Analyse (mit Option zum selektieren bestimmter Bereiche)
- Moodlight (hamonische Farbwechsel)
(- Equalizer Modus (FarbVisualizer) )

würde mich sehr über Feeback freuen!!
 
also ich habe ein java prog. gui ist fertig, farben auslesen auch.
es werden 3 bereiche des bildschirms ausgelesen: oben, links und rechts. wenn du da interesse hast schreib mir einfach ma ne pn.
 
Sweet Leute. Genau das Thema, was mich grade beschäftigt.
Mein Traumszenario ist ein Philips axBx Starter am Mac und bestenfalls mit Applescript steuerbar. Die Philips LEDs sind nämlich verdammt hell und haben geile Farben. Stellt euch das mal vor :) . Ein Quicktime oder VLC Plugin ist dann auch nicht mehr weit. iTunes ist wahrscheinlich in Minuten gecodet. Das amBx ist blöderweise USB und daher wahrscheinlich komplexer anzusprechen (wenn es überhaupt geht). Glaubt ihr sowas ist machbar?
 
geniales Thema, bin auch an so etwas interessiert!

(aber nur wenn ich ein Programm bekomm und irgendwelche LED Leisten direkt anschließen kann - also nicht n Controller, oder sonstiges kompliziertes - das raff ich nicht :D)
 
Mein Ansatz wäre ein Shellscript mit ImageMagick:

alle 5 minuten
screencapture /tmp/test.png
convert /tmp/test.png -format %c histogram:info:-

Spuckt dann was aus wie:
422: ( 0,255,255) #00FFFF cyan
381: ( 50,205, 50) #32CD32 LimeGreen
126: ( 46,139, 87) #2E8B57 SeaGreen
59: (160, 82, 45) #A0522D sienna
20: (255,255, 0) #FFFF00 yellow
16: ( 0,128, 0) #008000 green

Dann erste Zeile nach Belieben parsen...
Muss halt ImageMagick installiert werden.
 
Das Histogramm misst aber nur die häufigkeit einzelner Farbwerte oder?
Das wäre dann wahrscheinlich ziemlich fehleranfällig.

Mein erster Gedanke wäre den Screenshot auf ein 3x3 Pixel Bild zu skalieren. Dann hätte man gute Durchschnittswerte für jeden Bereich.
Es wäre natürlich am besten, wenn man das mit CoreImage oder zumindest Quartz macht, damit möglichst nur die GPU zu leiden hat.
Ich glaube das könnte man mit dem Quartz Composer hinbekommen. Ist nicht das beste Tool für sowas, aber das verstehe ich noch ;-)

Ich hab auch mal Philips wegen dem ambx angeschrieben. Mal sehen, ob die nett zu Entwicklern sind.
 
...Mein erster Gedanke wäre den Screenshot auf ein 3x3 Pixel Bild zu skalieren. Dann hätte man gute Durchschnittswerte für jeden Bereich.
...

Hast recht.
Ginge dann mit "convert -filter ... -resize ..."
 
Hallo!

Befasse mich im moment auch mit dem bau einer art Ambilight für den Mac, Der letzte beitrag in diesem Thread ist ja schon ein wenig her, hatte jemand erfolg?

Grüsse,
Micha
 
das java tool lief. allerdings ist die entwicklung eingeschlafen.
ich bin mir im moment nicht mal sicher, ob ich den anschluss an die schnittstelle überhaupt umgesetzt habe.

hierbei geht es allerdings nur um das tool.
 
Die Hardware dazu war auch fertig, wurde dann allerdings umgebaut und mit drei Schiebereglern versehen, mit denen man die drei Farbkanäle in der Helligkeit steuern kann. Der Anschluss für den Mac ist dabei unterschlagen worden, müsste ich mal wieder auf machen und dran löten.

MiNiMaLySsA, was ist denn Metier ? Programmieren oder löten ?
Wir benötigen nämlich immer noch ein Tool das performant auf dem Mac läuft, also kein Java mehr.
 
Zurück
Oben Unten