gemiddelde kleur

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Fullstack Developer (GOLang, TypeScript)

Bedrijfsomschrijving Our client is one of the large worldwide accounting firms. Functieomschrijving We are looking for a senior (all-round) developer (Project On Demand / Tax Technology) Uses as much as possible technology in support of the development process: Git, Jenkins, Docker, npm, skaffold, helm, etc. We are looking for a real hands-on developer; ie not a team lead or other managerial-style role; Acts with integrity both internally and externally and takes personal responsibility in this respect; Curious about the developments within their field and driven to make a difference with the team; Able to empathize with colleagues and stakeholders and

Bekijk vacature »

Freelance Fullstack Java Developer

Functieomschrijving Voor een opdrachtgever in omgeving Rotterdam zijn wij op zoek naar ervaren Fullstack JAVA Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid hebben

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 »

Full Stack C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

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 »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

Bekijk vacature »

Front end developer React

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

Cobol Developer

Dit ga je doen Als Cobol Ontwikkelaar zal je gaan meebouwen aan een onderdeel van het backend systeem waarbij je het functionele ontwerp vertaald naar een technische oplossing die geïntegreerd kan worden in de huidige omgeving. Je zorgt ervoor dat de bedrijfsprocessen op een efficiënte manier worden uitgevoerd en werkt proactief aan het verbeteren hiervan. Samen met jouw collega’s reviewen jullie elkaars code en test je je eigen code. Je werkt nauw samen met andere ontwikkelaars, testers en functioneel ontwerpers. Taken pakket: Beheren en doorontwikkelen van de bestaande omgeving; Vertalen van een functionele vragen naar een technische oplossing; Doorvoeren van

Bekijk vacature »

Fullstack developer

Functie omschrijving We are looking for a dutch native speaker Wil jij werken als Senior Developer en werken aan een applicatie die duizenden marketingcampagnes automatisch aanstuurt? Dit is je kans! Kom werken voor onze opdrachtgever en in deze rol zul je veel vrijheid en verantwoordelijkheid krijgen om gezamenlijk de applicatie naar een hoger plan te tillen. Wat ga je verder doen: Optimaliseren, beheren en uitbreiden van onze applicatie; Het bouwen van aansluitingen op de systemen van partners middels API’s; Meedenken over de technische/ontwikkel-standaarden; Proactief verbeterpunten voorstellen. Bedrijfsprofiel Het is een organisatie die met een team van verschillende developers én marketeers

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Scrum Master

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 Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden je HBO ICT Informatica diploma in ontvangst mogen nemen? Of heb je een aantal jaar ervaring als Software Developer en ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een gewaardeerde werkgever in de regio van Goirle zijn wij op zoek naar een junior/medior Back-end Developer met affiniteit met MS Acess. Samen met een vooruitstrevend team ben je verantwoordelijk voor het ontwikkelen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL en affiniteit met MS Acess. Je bent klantvriendelijk en flexibel ingesteld en vindt het leuk om klanten te

Bekijk vacature »

PHP ontwikkelaar

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

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

26/04/2024 01:58:23
 
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.