Page 1 sur 1

[R] Paramètre 'shade-variation' dans PixelSearch()

Posté : ven. 16 janv. 2015 17:28
par Asardex
Bonjour à tous !

Je viens aujourd'hui pour vous demander des précisions sur l'utilisation du paramètre 'shade-variation' dans la fonction PixelSearch. :roll:
En effet, je voudrais que mon programme soit capable de détecter la présence des couleurs allant de FF5500 à FF8000 (en hexadécimal bien sûr). [Si ça vous intéresse vous pouvez facilement visualiser les couleurs sur ce site]

Je me demande donc comment est exploité ce paramètre ('shade-variation'), afin de trouver un nombre correspondant au décalage présent entre les deux couleurs indiquées ci dessus ! :?:
C'est pourquoi je ne me contenterais pas simplement d'un "Il te suffit de mettre $shade_variation = 40 ..." :)

Merci à tous de votre aide (et de votre compréhension) ! Si vous voulez des précisions sur ce que je compte faire, il n'y a pas de problèmes, même si je pense avoir été assez explicite ;)


Asardex

Re: [..] Paramètre 'shade-variation' dans PixelSearch()

Posté : ven. 16 janv. 2015 17:58
par jbnh
Il sera difficile pour vous de réussir avec color variation.

FF5500 vaut en RVB 255 85 0
et
FF8000 255 188 0

Il y a donc pas une constante dans le RVB qui permet une variation (+ ou - x)

Re: [..] Paramètre 'shade-variation' dans PixelSearch()

Posté : dim. 18 janv. 2015 20:11
par Asardex
Merci de votre réponse, mais si les couleurs avaient été plus "proches", qu'aurait-il fallu mettre afin de trouver les deux couleurs avec un seul pixelSearch ?

Re: [..] Paramètre 'shade-variation' dans PixelSearch()

Posté : lun. 19 janv. 2015 18:38
par cbourree
Tu peux faire une recherche avec (255 101 0)->Hexa +/- (shade-variation) 103
Après je te conseille de récupéré la couleur du pixel trouver avec pixelgetcolor
Et vérifier que ça commence par FF et finisse par 00

Re: [..] Paramètre 'shade-variation' dans PixelSearch()

Posté : lun. 19 janv. 2015 21:23
par orax
Je n'ai pas compris quel est le calcul pour trouver 103.
Moi j'ai fait

Code : Tout sélectionner

0x55 = 85
0x80 = 128
(128+85) / 2 = 106
106 = 0x6A (c'est la composante verte)
106-85 = 21
128-106 = 22 (le shade-variation)
Le code suivant trouve les couleurs de 0xXX54XX à 0xXX80XX :
PixelSearch(863, 340, 908, 358, 0xFF6A00, 22)

Re: [..] Paramètre 'shade-variation' dans PixelSearch()

Posté : mar. 20 janv. 2015 09:28
par cbourree
Oui dsl je ne sais même plus faire une moyenne.
Dans ton cas il n'y a une variation que sur le vert alors que shade-variation est une constante qui autorise cette variation sur chaque couleur ^^

Re: [..] Paramètre 'shade-variation' dans PixelSearch()

Posté : mar. 20 janv. 2015 10:13
par orax
Oui oui en effet, c'est sur chaque couleur. Je n'avais pas été très clair. En fait les XX (de 0xXX54XX à 0xXX80XX) représentent les variations sur le rouge et bleu.
rouge : 255-22=233 (0xE9)
bleu : 0+22=22 (0x16)
(R) E9 à FF ; (V) 54 à 80 ; (B) 00 à 16