FORUMARCHIV  
  bild farbwerte analysieren via php   
 
hallo zusammen,

ist es machbar die farbanteile/farbwerte eines upgeloadeten bildes via php zu analysieren?
img2ascii ist ja schonmal eine aehnliche richtung, oder taeusche ich mich da?

tschuess

> Hier gehts zum Orginal Eintrag

 
  Antworten  
 

1.

vielleicht ist http://php.net/imagecolorat etwas für Dich



2.

das ist es!
handelt sich allerdings ja nur um einen pixel...
wie realisiere ich denn das komplette analysieren eines bildes?
in einer schleife? for (i=1;i < pixelanzahl..... oder so aehnlich?


denkansatz?



3.

Genau, Du kannst mit getimagesize die Größe ermitteln und dann eine Schleife erstellen, mit der Du pixelweise durch das Bild gehst. Ist nur die Frage, ob Du das Bild zeilenweise oder spaltenweise abarbeiten willst.

*** Nobody ***



4.

vielen dank!



5.

das geht auch relativ flott. Den Preis den Du dafür zahlst: das gd-Format (so wie es im Speicher liegt) ist ziemlich groß. Nichts worüber Du Dir bei einem Bild graue Haare wachsen lassen musst; bei gleichzeitigem Zugriff auf viele mittelgroße oder einige große Bilder macht es sich aber u.U. schon bemerkbar.



6.

hallo,
ich versuche jetzt in zwei schleifen alle bildpunkte mit ihren farbwerten auszugeben, aber leider bekomme
ich das ueberhaupt nicht hin . ´weisws jemand weiter?

Code:                   In Zwischenablage kopieren (nur IE)
1">





7.

beschreibe mal strukturell Dein Skript, ungefähr so

- ermitteln der Bildgröße
- für jedes i von 0 bis <Breite des Bildes>
-- für jedes n von 0 bis <Höhe des Bildes>
--- ...
- Ausgabe des img-Elements

und dann überlege Dir, ob das, was Du da jeweils machst, an dieser Stelle sinnvoll ist.



8.

Deine Schleife stimmt nicht !

falsch:
for (i=0; i<=$imageheight;i++)
{ for (n=0; n<=$imageheight;n++) {
$xpix++;
$ypix++;
}

richtig:
for (i=0; i<=$imageheight;i++)
{
$xpix++;
for (n=0; n<=$imagewidth;n++) {
$ypix++;
}



9.

na gut, da jetzt schon vorgesagt wurde (gib einem Mann einen Fisch und der hat für heute zu essen; lehre ihn Angeln und er hat Essen sein Leben lang ), überlege Dir mal, ob es sinnvoll ist, in jedem Schleifendurchlauf das Bild neu per imagecreatefromjpeg(...) zu öffnen, es ändert sich ja nicht.



10.

vielen dank,
habe immer noch hunger
jetzt bekomme ich naemlich garkeine ausgabe mehr - sondern nur eine leere seite

Code:                   In Zwischenablage kopieren (nur IE)
2">





11.

Schau dir das mal an:

http://www.sebastian-r.de/asciiart/

Das Script ist frei und da steht alles drin wie so was funzt.



12.

wie wäre es dann damit:

for ($xpix=0; $xpix<$imagewidth; $xpix++) {
for($ypix; $ypix<$imageheight; $ypix++) {
...
}
}

Wozu mehr Variablen einführen als nötig??



13.

jetzt gehts:
noch eine frage: wie kann ich doppelte werte etc. kummulieren?
also bspweise alle ccff00 als "ccff00 kommt 300 mal vor" ausgeben. da ich die variabeln in flash laden moechte.

Code:                   In Zwischenablage kopieren (nur IE)
3">





14.

$k=array();
$k[$farbwert]++;



15.

ich habe mich scheisse ausgedreuckt.
ich meinte eher, dass ich bereiche festlege. bsp von FF3366 bis CC0033 (leicht rose bis rot) und fuer diesen
bereich die "hits" uebergebe. wie fange ic da am besten an?
bzw. koennte ich das auch auf 256 Farbwerte eingrenzen und dann bei diesen 256 farben die "hits" zaehlen. irgendwie mit
imagecolorsforindex ()?



16.

Da stellt sich erstmal die Frage, was überhaupt ein Farbbereich ist. Der RGB-Farbraum ist ein dreidimensionales Gebilde, in dem ein "Bereich" vieles sein kann...



17.

anderer ansatz:
wie schaffe ich es eine top hundert der meist-verwendeten farben zu erzeugen?

was mich auch noch frage:
kann ich farben/farbwerte zu dezimal-zahlen umrechnen, also aus rgb oder hex eine einzige zahl pro
farbe generieren? so liesse sich das 3dimensionale gebilde runterbrechen. ich habe schon nach entsprechenden funktionen gesucht, allerdings habe ich nichts 100% passendes gefunden.

tschuess



18.

zu frage zwei: Nein, kann man natürlich nicht, da dadurch Information verlorengeht ... (Vektorrechnung lässt grüßen ) ...

apropos Vektorrechnung: Betrachten wir jede Farbe als Vektor, der einen Punkt im Farbraum beschreibt, so könnte man Bereiche definieren als:

Ein Farbbereich ist der Raum, der von zwei Farbvektoren in der Art aufgespannt wird, dass die zwei durch sie beschriebenen Punkte die gegenüberliegenden Eckpunkte eines zum Koordinatensystem des Farbraums parallelen Quaders sind.

Dann lässt sich durch einfache Vergleiche feststellen, ob eine Farbe in diesem Farbbereich liegt.

Eine andere Möglichkeit wäre, einen Farbbereich um eine Farbe herum mit einer Abstandsfunktion zu definieren.



> Weiter Einträge finden Sie in unserem Forum

 

Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.



Webspace mit PHP und MySQL bei phpforum.de!

radiobuttons überprüfen
Probleme mit require
Auswahl des Servers (Performance)
Überprüfung der E-mailadresse im Formular
Variable auslesen!!!
Scirpt laufzeit verlängern
Virus oder nicht Virus...
readdir Verzeichnisse oben, Dateien unten
2 abhängige auswahlboxen
mysql problem!bitte um hilfe
Problem mit Counter
gaestebuch frage
Php Array in Js-array umwandeln
Probleme mit trim () und chop()
Virtualhost / windows / dyndns
Einfache Frage
Links &quot;automatisch&quot; erstellen???
Datenimportschnittstelle CSV/XML gesucht!
Ganz normale PHPSESID
Sicherheitsproblem
$_SESSION['id'][] was ist daran falsch?
ezupload php problem
Fehler im script Bitte um hilfe
formular error auf formular seite ausgeben
ifconfig über Intranetseite ausführen....
sql abfrage aus zwei tabellen
Objekt erwartet
Wann kommt PHP5
Datei in RAR oder ZIP komprimieren und mit Passwort versehen
Ich kapier es nicht! (variablen in Link oder doch nicht?)
mcrypt
array_push ?
Tabellen vergleichen
News &amp; Comments
Dynamisch Thumbnail generieren
Count()
datenbankverbindung dauerhaft aufrechterhalten?
script zum E-mails decodieren?
Suche ein PHP Script
php Mailer --&gt; Smtp Error
mysql link resource problem
Bildwechsel bei onclickevent
Fehlermeldung
Spezielle Datumsfunktion
Probleme mit Arrays in einer Echo ausgabe.
Suche Serverüberwachungsskript
Übergabe von Variabeln an Insert-befehl
funktion readfile() netscape 7.0
htaccess und Rewriteengine
Php + Xml-schnittstelle
Weiter

Webdesign und TYPO3 Agentur - analog multimedia

phpforum.de das deutsche PHP-Forum. Hier finden Sie alles über PHP, PHP3, PHP4, PHP5 MySQL, ASP, JSP,Linux, Apache ...
  phpforum.de