[PHP/GD] kleuren die op elkaar lijken samenvoegen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MDVej
  • Registratie: September 2001
  • Laatst online: 07-08 23:22
Ik zit met het volgende. Ik heb een 16 bit plaatje met bijvoorbeeld een gele jas.
Hieruit wil ik alle kleuren halen (dit gaat prima). Nu wil ik de kleuren geel die heel veel op elkaar lijken samenvoegen (anders krijg ik te veel resultaten). En hier loop ik een beetje vast.

Ik heb bijvoorbeeld de hex kleurcode: #8E6C28 en #997526. Deze lijken enorm veel op elkaar en ik zou deze dus graag samenvoegen tot een (dus bijvoorbeeld een van de 2 weg gooien).

Heeft iemand enig iedee hoe ik dit voor elkaar kan krijgen?

Bvd.

Acties:
  • 0 Henk 'm!

  • MissingDog
  • Registratie: Augustus 2002
  • Niet online
Ik gok dat je photoshop gebruikt -> Select colorrange, pipetje op geel, beetje aan de fuzziness tweaken. Soms moet je met shift+pipet een 2e kleur erbij selecteren.

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Het verschil tussen de kleuren wordt bepaald door de afstand tussen de verschillende componenten R, G en B. Het verschil tussen de twee kleuren 8E6C28 en 997526 is dus voor R |99-8E|, voor G |75-6C| en voor B |26-28|. Als je voor jezelf een drempel kunt bepalen voor zowel de som van de absolute verschillen als de absolute verschillen van de componenten afzonderlijk ben je volgens mij een heel eind op weg.

't Is verder wel handig als je even uitlegt waarmee je dit doet, in een programmeertaal, photoshop, whatever ...?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • MDVej
  • Registratie: September 2001
  • Laatst online: 07-08 23:22
sorry ik had inderdaad er even bij moeten vermelden dat ik dit doe met PHP Versie 4.3.10-15 en GD 2.0.

Wat drm zegt lijkt me aardig wat ik bedoel. Alleen ik mis nog even hoe ik dit nu precies moet doen. Misschien kan iemand me nog wat verder helpen.

Acties:
  • 0 Henk 'm!

Verwijderd

Wat DRM bedoelt is dat je het verschil tussen 8E6C28 en 997526 kunt berekenen door het verschil van de componenten te berekenen.

Je zou daarna een gemiddelde van de verschillen te kunnen nemen en dan te kijken of het verschil kleiner is dan de grens die jezelf opstelt.

het lijkt me dat je hier zelf verder wel uit moet kunnen komen.

Acties:
  • 0 Henk 'm!

  • twanvl
  • Registratie: Februari 2005
  • Laatst online: 22-08 11:42
Voor een beter resultaat zou je beide kleuren om kunnen zetten naar HSV of HSL (vraag google of wikipedia), en dan de H, S en V componenten afzonderlijk vergelijken met eventueel een andere drempel. Het voordeel hiervan is dat HSV erg lijkt op hoe mensen kleuren zien, namelijk als tint, verzadiging en helderheid.
Trouwens: GD heeft een ingebouwde kleur vergelijk functionaliteit, geen idee hoe goed die is.

Acties:
  • 0 Henk 'm!

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 00:01

Pelle

🚴‍♂️

Als het over GD gaat > PW

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Je kan hier zien hoe je van een bepaalde kleur de losse RGB-waarden opvraagt (voorbeeld 1) en hier hoe je een bepaalde pixel van kleur laat wijzigen. Wat is dan verder het probleem? Je bepaalt gewoon kleurafstanden en gaat dan afronden.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1