gemiddelde kleur

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Java Developer bij een jonge groeiende organisatie

Bedrijfsomschrijving Vind jij het als Java developer ook zo belangrijk dat een bedrijf je de ruimte en tijd geeft voor persoonlijke ontwikkeling? Dan zit je hier helemaal goed. Deze jonge organisatie is opgericht in 2018 en is ondertussen uitgegroeid tot een club van ongeveer 30 medewerkers. Het gaat hier om een echte Java club, die vrijheid en verantwoordelijkheid erg belangrijk vinden. Het bedrijf heeft een informele sfeer en de teams zijn erg hecht met elkaar. Ze delen graag de kennis en ervaringen met anderen, maar vinden andermans mening ook zeer belangrijk. De organisatie zet zich in voor ontwikkeling en besteed

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

Bekijk vacature »

PHP developer - Digital Agency

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »

Product Developer (M/F), Fulltime 40 h/week

A global Plantbased revolution – that is our dream. Maximising the protein transition – that is our mission. Producing and developing sustainable and delicious products – that is what we do. Ojah is a fast growing company with a mission and has the ambition to be the world leader in its field. To support this growth we are hiring new colleagues. People that would like to make a difference and dare to dream big. With currently a 150 colleagues proudly working on our exceptional products. Working in a dynamic surrounding that runs full speed ahead. We need you! Product Developer

Bekijk vacature »

Front-end Developer

Front-end Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

Bekijk vacature »

C# .NET Developer

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Bennekom gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

Fullstack Developer TOTO

Do you want to work with the latest technologies on the development of new systems and applications? Get moving and strengthen Nederlandse Loterij as a Fullstack Developer TOTO. Thanks to your efforts, complex business critical applications are always running smoothly. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Fullstack Developer you score by: Taking ownership of the development cycle of an application in a large scale, high availability, geo redundant landscape Coaching your peer developers and safeguarding code quality Integrating the application with other components of the system using the available API’s Managing

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

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

15/05/2024 19:41:17
 
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.