gemiddelde kleur

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ervaren PHP Developer

Functieomschrijving PHP Developer met brede ervaring gezocht! Ben jij een Full Stack PHP Developer met brede ervaring die toe is aan een volgende stap? Lees dan snel verder! Voor onze eindklant in de regio Nunspeet zijn wij op zoek naar een ervaren PHP Developer die het IT Team van deze organisatie gaat versterken. Wij zoeken een enthousiaste en breed georiënteerde IT-er die er voor gaat zorgen dat deze innovatieve organisatie de volgende stap gaat maken. Om deze functie goed uit te kunnen voeren moet je communicatief goed zijn en in staat zijn om zelfstandig problemen op te lossen. Daarnaast bestaat

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Full Stack Software Ontwikkelaar gezocht! Voor een bedrijf in de regio van Ermelo zijn wij op zoek naar een Software Ontwikkelaar die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van SaaS applicatie van dit bedrijf. Hierbij ga jij voor- en samenwerken met de klanten van de organisatie, het is hierbij dus van groot belang dat je communicatief vaardig bent en dat je beschikt over beheersing van zowel de Nederlandse als Engelse taal. Bedrijfsprofiel Waar ga je werken? Altijd al in een echt familiebedrijf willen werken? Dan is dit je kans! Het bedrijf waar je komt te

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij als software ontwikkelaar toe aan een nieuwe uitdaging? Dan zoeken wij jou! Voor het maken van de procesbesturingssoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Ontwerpen, programmeren en testen van product aanpassingen; Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden, o.a. door middel van SCRUM; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Implementeren van nieuwe product

Bekijk vacature »

Hands-on Solution Architect / Software Architect (

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Solution Architect / Software Architect op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je werkt samen met gedreven DevOps teams, bestaande uit frontend, backend en middleware developers, testers, UX-designers. Samen met de teams ben je continu op zoek naar de beste oplossingen voor onze klanten. Als Solution Architect onderzoek

Bekijk vacature »

Software Ontwikkelaar

Functieomschrijving In deze uitdagende functie als Software Developer ga je de volgende taken uitvoeren: Maatwerk back-end software programmeren; API koppelingen bouwen; Software optimaliseren voor klanten; Bouwen maatwerk applicaties; Werken met Microsoft stack zoals C#, .NET (Core) en Entity framework; Bedrijfsprofiel Je gaat werken bij een klein softwareontwikkelingsbureau, die maatwerk software bouwt voor klanten door heel Nederland. Dit doen zij al meer dan 20 jaar. Het is van oorsprong een familiebedrijf, opgezet door de eigenaar, die er nog steeds werkt. Het team bestaat vooral uit back-end developers en één systeembeheerder. Je krijgt veel kans om jezelf te ontwikkelen en krijgt tevens

Bekijk vacature »

Als Front-end developer samenwerken met de beste c

Functie Momenteel zijn we voor één van de projecten bij hun key partner, een voorloper in de energiesector, op zoek naar gedreven Front-end developers. Ze nemen de lead in dit project en werken uitsluitend met vooruitstrevende technologieën. Ze verwachten dat de technologie die hier wordt ontwikkeld uiteindelijk door veel meer grote corporates, in verschillende sectoren zal worden toegepast. Dit is dan ook een heel uitdagend project om aan mee te gaan werken. Het team bestaat o.a. uit User Experience designers, Data Scientists en Software Engineers. De consultants en ontwikkelaars werken volgens de Design Thinking methode waarbij de eerste stappen van

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Boskoop dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat technische klussen uitvoeren op locatie bij klanten.Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat software en webapplicaties ontwikkelen met behulp van de talen

Bekijk vacature »

IoT Software Developer PHP

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een IoT software developer met kennis van PHP. In deze rol wordt je verantwoordelijk voor het vernieuwen van het multimedia platform van een super tof bedrijf in Breda. Je gebruikt PHP als programmeerlaag, en bent in staat om de helicopterview te pakken / projectmatig te werken. Jouw werkzaamheden zien er als volgt uit: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "intern" ontwikkelde multimedia platform. Je neemt de lead in het moderniseren van het platform door het deels opnieuw op te zetten of

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Frontend Developer - Leeuwarden

Frontend Developer – Leeuwarden Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider

Bekijk vacature »

Ervaren Full stack developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house functie bij een bedrijf met enorme groeipotentie? Ben jij op zoek naar een nieuwe uitdaging vol afwisseling en gezelligheid? Dan ben je bij dit bedrijf aan het juiste adres! Wij zijn in omgeving Breda op zoek naar een ervaren full stack developer. Je gaat werken voor een zeer gewilde werkgever met goede arbeidsvoorwaarden. Je krijgt een plekje in het jonge IT team, work hard, play hard is hier duidelijk het motto! Jouw werkzaamheden zien er als volgt uit: Jij bent verantwoordelijk voor het ontwerpen en bouwen van webapplicaties. Je bent

Bekijk vacature »

Front-end developer Consultancy in teamverband wer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers. Momenteel zijn ze op zoek naar een ervaren Front-end of Fullstack developer die samen met de consultants aan de slag gaat om de business requirements te vertalen naar technische oplossingen. Los van het finetunen van extenties, help je bij het configureren van bijvoorbeeld een mobiel bankieren app. Hierin ben je van A tot Z betrokken en zie je bijvoorbeeld ook toe op de uitvoering van testen. Je expertise wordt optimaal benut en je krijgt verschillende kansen om deze uit te breiden door met verschillende innovatieve technologieën aan

Bekijk vacature »

SQL ontwikkelaar

Functieomschrijving Voor een gave werkgever in regio Breda zijn wij per direct op zoek naar een SQL ontwikkelaar/ functioneel consultant. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Je test de ontwikkelde oplossingen om er zeker van te zijn dat deze voldoen aan de functionele specificaties en de behoeften van de organisatie; Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Je stelt op

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Senior Javascript developer

Functie Het platform is gebouwd in een moderne JavaScript stack, die gebruikt maakt van:  React.js  Redux  TypeScript  Node.js  Google Cloud functions (node.js)  Semantic UI Alle code wordt getest en beoordeeld door collega developers. De continuous integration pipeline maakt het mogelijk om elke dag waarde te leveren aan hun klanten. Het ontwikkelproces is pragmatisch en gebaseerd op Scrum. Wat je zult doen: Ten eerste kun je nadrukkelijk jouw eigen stempel drukken op de technologie, het product en de cultuur van het bedrijf. Je bent bezig met het uitwerken van de architectuur van nieuwe functionaliteiten op

Bekijk vacature »
Peter  paul

peter paul

07/10/2012 20:14:34
Quote Anchor link
Hallo,

Op het moment ben ik bezig met een scriptje dat de gemiddelde kleur van een bepaalde foto berekend. Ik heb twee manier bedacht om deze kleur te berekenen.

1. Ik ga een voor een alle pixels van het plaatje af. Ik neem van elke pixel de RGB waarde tel deze op en deel ze door het aantal pixels (linker kolom plaatje).
2. Ik verklein het plaatje naar 1X1 px. Vervolgens haal ik de RGB waarde op (rechter kolom plaatje).

De eerste manier lijkt goed te lukken maar duurt langer naar mate het plaatje groter wordt. De tweede manier lijkt helemaal niet goed te lukken. Ik lijk niet de gemiddelde kleur te krijgen. Als ik de voorbeelden langs elkaar leg lijkt het als of ik de kleur van de pixel (1,1) krijg.

Dit is de code die ik heb gebruikt doe ik iets fout, zie ik misschien iets over het hoofd, zo ja wat moet ik aanpassen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php

class average_color {

  public $r;
  public $g;
  public $b;

    function
__construct($img) {
        
        #image
        $image = imagecreatefromjpeg($img);    
        list($width, $height) = getimagesize($img);
           
           #new image
        $new_image = imagecreatetruecolor(1,1);
            imagecopyresized($new_image, $image, 0, 0, 0, 0, 1, 1, $width, $height);
        
            $rgb = imagecolorat($image, 0, 0);
        
            #average colors
              $this->r = ($rgb >> 16) & 0xFF;
        $this->g = ($rgb >> 8) & 0xFF;
        $this->b = $rgb & 0xFF;
    }
}
?>


Afbeelding
Gewijzigd op 07/10/2012 20:16:12 door Peter paul
 
PHP hulp

PHP hulp

23/04/2024 20:19:56
 
Albert de Wit

Albert de Wit

07/10/2012 21:08:34
Quote Anchor link
leuk bedacht, echt waar.

als je een foto verkleint naar 1x1 pixel houd hij inderdaad de kleur van de pixel (x,y: 1,1). die is dus niet 'betrouwbaar'. je eerste methode hoort als het goed is wel te werken maar zoals je al eerder zei, gaat dat lang duren als je grote foto's hebt. toch schijnt 'ie prima te werken. ik zou niet weten wat er nog anders moet
 
Joey Drieling

Joey Drieling

08/10/2012 09:29:43
Quote Anchor link
ik denk als je eerst de foto vervaagt je al meer gemidekleuren hebt. En dan om de zoveel pixel de kleur bij houden.
 
Kris Peeters

Kris Peeters

08/10/2012 11:17:13
Quote Anchor link
Ik weet niet wat je vraag precies is; ik zal er dan ook niet precies op antwoorden.

Maar ja, ik had ergens een mapje "gemiddelde_kleur" in mijn xampp subfolders. Misschien ben je er iets mee.

Mijn idee: je laat via Ajax de kleur berekenen (door php). Dan duurt het nog even lang, maar het gebeurt 1 voor 1 en je ziet het gebeuren.

Zie zelf eens wat je er van denkt.
Zorg gewoon dat je de <img>'s de juiste src geeft bij jou (001.jpg, 002.jpg, ... aanpassen naar bestaande images bij jou.)

Je merkt trouwens dat ik basically het zelfde doe: waarden optellen per r, g, of b -waarde en delen door het aantal pixels.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
// AJAX verzoek
if (isset($_GET['ajax'])) {
  if(!empty($_POST['src'])) {
    $img = imagecreatefromjpeg($_POST['src']);
    $average = average($img);
    echo $average;
  }

  exit();
}
function
average($img) {
    $w = imagesx($img);
    $h = imagesy($img);
    $r = $g = $b = 0;
    for($y = 0; $y < $h; $y++) {
        for($x = 0; $x < $w; $x++) {
            $rgb = imagecolorat($img, $x, $y);
            $r += $rgb >> 16;
            $g += $rgb >> 8 & 255;
            $b += $rgb & 255;
        }
    }

    $pxls = $w * $h;
    $r = dechex(round($r / $pxls));
    $g = dechex(round($g / $pxls));
    $b = dechex(round($b / $pxls));
    if(strlen($r) < 2) {
        $r = 0 . $r;
    }

    if(strlen($g) < 2) {
        $g = 0 . $g;
    }

    if(strlen($b) < 2) {
        $b = 0 . $b;
    }

    return "#" . $r . $g . $b;
}


echo '
<html>
  <head>
  </head>
  <body>
    <div id="results">
      Gemiddelde kleur van foto\'s berekenen.  Asynchroon, 1 per 1.
      <input type="button" class="go" value="GO!"/>
    </div>
    <div class="photo"><img src="001.jpg"/></div>
    <div class="photo"><img src="002.jpg"/></div>
    <div class="photo"><img src="003.jpg"/></div>
    <div class="photo"><img src="004.jpg"/></div>
    <div class="photo"><img src="005.jpg"/></div>
    <div class="photo"><img src="006.jpg"/></div>
    <div class="photo"><img src="007.jpg"/></div>
    <div class="photo"><img src="008.jpg"/></div>
    <div class="photo"><img src="009.jpg"/></div>
    <div class="photo"><img src="010.jpg"/></div>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>
      var i=0;
      function probe_photo() {
        var src = $($(".photo img")[i]).attr("src");
        $.ajax({
          url: "?ajax=1",
          type: "POST",
          data: "src=" + escape(src),
          success: function(html) {
            $($(".photo")[i]).css("background", html);
            $($(".photo")[i]).append(html);
            i++;
            if (i < $(".photo img").length) {
              setTimeout("probe_photo();", 200);
            }
          }
        });
      }
      $(document).ready(function() {
        $(".go").click(function() {
          probe_photo();
        });
      });
    </script>
  </body>
</html>'
;
?>
Gewijzigd op 08/10/2012 11:18:29 door Kris Peeters
 
Peter  paul

peter paul

08/10/2012 12:31:20
Quote Anchor link
Aller eerst bedankt voor de reacties.

Ik ben zelf ook nog even verder gegaan met dit probleempje en ik heb het weten op te lossen. Door imagecopyresized() te vervangen voor imagecopyresampled () werkt alles perfect. Ook zag ik in mijn vereenvoudigde script nog een klein foutje, ik verwijs bij imagecolorat() naar $image dit moet uiteraard $new_image zijn. Dit had ik in mijn eigen script uiteraard wel goed.

Bedankt.
 
Ozzie PHP

Ozzie PHP

08/10/2012 12:36:29
Quote Anchor link
Kun je nog een screenshot tonen van het uiteindelijke resultaat met een paar andere plaatjes? Ik weet niet waar je het voor gaat gebruiken, maar (mocht je dit nog niet doen) je kunt die gemiddelde kleur ook eenmalig berekenen op het moment dat een foto wordt geupload. Dus niet telkens wanneer de foto getoond moet worden het script uitvoeren, maar slechts 1 keer als de foto wordt geupload. De gemiddelde kleur waarde sla je dan bij die foto op in de database.
 
Chris PHP

Chris PHP

08/10/2012 12:43:13
Quote Anchor link
@Kris,

Kun je niet beter php escapen voor dat HTML gedeelte? Waarom je server daarmee belasten?
 
Kris Peeters

Kris Peeters

08/10/2012 12:59:16
Quote Anchor link
Ja, inderdaad
 
Peter  paul

peter paul

08/10/2012 13:20:23
Quote Anchor link
Afbeelding

Hier de screenshot waar je om vroeg. Je ziet het misschien niet maar de bovenste kleuren van de linker en rechter kolom zijn niet exact het zelfde. Maar dit verschil is zo minimaal dat ik het goed vind.

En ik was inderdaad van plan de kleuren op te slaan in mijn DB.
 
Kris Peeters

Kris Peeters

08/10/2012 14:03:15
Quote Anchor link
Ik was daar ooit aan begonnen met het idee om een mozaïek te maken van images

(dit soort http://www.topito.com/wp-content/uploads/2012/03/Mosaique009.jpg )

Jij ook?
 
Ozzie PHP

Ozzie PHP

08/10/2012 14:17:15
Quote Anchor link
Peter paul op 08/10/2012 13:20:23:
Afbeelding
Hier de screenshot waar je om vroeg. Je ziet het misschien niet maar de bovenste kleuren van de linker en rechter kolom zijn niet exact het zelfde. Maar dit verschil is zo minimaal dat ik het goed vind.

Welke bovenste kleuren bedoel je? Ik meet exact dezelfde waardes (de achtergrond kleur). Kun je de complete code nog eens plaatsen? Misschien leuk voor anderen?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.