begin process at 2010 03 18 20:30:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Divers

 > 

Général

 > 

luminance d'un pixel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

luminance d'un pixel

vendredi 16 novembre 2007 à 23:23:14 | luminance d'un pixel

raoulli

bonsoir.

comme le titre l'indique, je cherche a connaitre la luminance d'un pixel a l'ecran.
j'ai son RGB, mais je n'ai pas trouvé l'API pour pouvoir connaitre sa luminance.

merci.
bye.

samedi 17 novembre 2007 à 14:56:36 | Re : luminance d'un pixel

raoulli

re

le pire, enfin vu la bouze, serrait le calcule de la teinte.
mais, bon, va pas y'avoir beaucoups de monde a repondre.

bye.

dimanche 18 novembre 2007 à 17:31:45 | Re : luminance d'un pixel

Nukleos

Un lien qui devrait être utile :
[ Lien ]

Salut.

Patrick
lundi 19 novembre 2007 à 02:15:07 | Re : luminance d'un pixel

raoulli

salut.

merci, c'est exactement ce qu'il me fallais, pfffff, je travaille avec un vieux win32.hlp, va falloir que je prenne une base de données a jour, comme msdn library.

bye.
lundi 19 novembre 2007 à 09:53:36 | Re : luminance d'un pixel

_dune2_

Membre Club
Salut,
   le calcul de la luminance est : L = (R + G + B)/3 = 0,333 R + 0,333 G + 0,333 B
Ensuite, ce calcul (simple à la base et équilibré) peut être rendu un peu plus
réaliste comme pour la luminance en vidéo : L = 0,299 R + 0,587 G + 0,114 B (car nous sommes plus sensible au vert et cela s'en ressent sur la luminance effective de la couleur).

La teinte représente plutôt la couleur directrice (exemple bleu ou rouge).
Et la saturation représente la pureté de la couleur.

Exemples:
 - gris c'est
     saturation=0 (ni bleu, ni rouge, ni vert)
     teinte= n'importe quelle valeur (car le gris n'a pas de couleur prédominante)
     luminance=128 par exemple
 - Vert foncé
     saturation=255, car c'est du vert pur
     teinte=128, car c'est du vert
     luminance=128, pour le foncé

Cette partie de code source traite de l'assembleur .... pas de l'API win32 ... merci de contribuer en assembleur .... sinon faites du C.

Gentoo... que du bonheur ...
lundi 19 novembre 2007 à 15:07:49 | Re : luminance d'un pixel

_dune2_

Membre Club
par ailleur, si tu veux du code optimisé pour calculer la luminance d'une image entière, tu peux te baser sur le code que j'ai posé dans les snippets :
http://www.codyx.org/snippet_image-niveaux-gris_75.aspx
Et je doute fort que ton API win32 le fasse beaucoup mieux et surtout plus rapidement !!

Gentoo... que du bonheur ...
mardi 20 novembre 2007 à 02:28:20 | Re : luminance d'un pixel

raoulli

salut.

merci pour les infos.
une petite chose, a dire si je peus me permettre.
l'assembleur ne sert a rien si on ne se sert pas des apis, ps, essayer de faire une fenetre en asm sans api.
nukleos m'a fillé une api, et franchement, je ne vais pas m'en priver vu que le codage des couleurs par pc, passe par une formule plus compliqué que L = (R + G + B)/3 = 0,333 R + 0,333 G + 0,333 B.
de plus cette formule, est la seul qui est exacte avec le codage couleur sous windows, car celle que tu me donne je l'ai deja essayé, et ce n'est pas le resultat qui corespond a la luminance de paint.
Cette formule utilise le fpu, je l'ai donc fait, et ca gaze.mais bon que de temp perdu, alors que l'api hop, en 30s vous avez codé.
en plus c'est pour un prog, pas pour un jeux, y'a pas l'feu.

c'etais juste une parenthese.
bonne soirée.
bye.



mardi 20 novembre 2007 à 10:23:38 | Re : luminance d'un pixel

_dune2_

Membre Club
Salut,

Alors primo, le fait que windows ait changé les coefficients de la formule de luminance ne change pas grand chose, en effet, comme je l'ai décrit, les coefficients peuvent être différents pour coller à la réalité (et j'en ai donné l'exemple).

Secundo, je suis d'accord avec toi en ce qui concerne la création des fenêtres, l'API est indispensable pour éviter de longues procédures rébarbatives liées à la gestion de l'interface.

Par contre je suis absolument contre le fait d'utiliser les APIs là où le codage en assembleur prend toute son sens ! Les manipulations d'octets, les manipulations de flux image/audio/vidéo ainsi que les calculs sont les exemples types d'optimisations en assembleur !
C'est dommage de passer à coté d'une telle opportunité quand on se met à l'assembleur !

Tertio, la formule que je t'ai présenté est effectivement en flottant, par contre il n'est pas interdit de ruser quand on fait de l'assembleur, et c'est même recommandé. Ex :

La formule de luminance vidéo :
L = 0.3 * R + 0.59 * G + 0.11 * B
L = 77/65536 * R + 151/65536 * G + 28/65536 * B
L = ((77 * R + 151 * G + 28 * B) / 65536)
or X/65536 => X>>16
donc L=(77*R+151*G+28*B)>>16 !! tu vois encore des floats là ????

Je m'attendais pourtant à mieux au vu de tes questions, je voyais enfin une personne interressé par l'assembleur (fpu, optimisations des calculs ...), mais le coté obscure de l'api a encore frappé.
Je suis vraiment déçu quand je vois les raisonnements du type :
"[...] mais bon que de temp perdu, alors que l'api hop, en 30s vous avez codé. [...]"

Dune2 ... blazé ... mais où sont passés les demomakers, les jongleurs de l'asm, ceux qui font danser les instructions asm pour la beauté du spectacle .... ceux qui rigolent des apis simplistes et génériques et recodent leurs fonctions de traitement de l'image qui semblent s'exécuter en un éclair ... oui cet éclair de génie qui illuminait vos yeux en voyant leur tours de passe-passe s'afficher sans artéfact avec une fluidité inimaginable en utilisant une API standard .... cette fluidité qui les métamorphosait de simple codeur à génie du code asm ...

raoulli: Ce n'est pas aprés toi que j'en ai ;) ce que je dis est générique et adressé à tous les codeurs asm qui ont ce raisonnement !
Tu as fait l'effort de coder la luminance avec le fpu, et c'est vrai que c'est plus long,
mais regarde le code que je t'ai mis en lien pour la luminance ... je l'avais écrit à l'époque où je fesais du traitement d'image en temps-réel, car une personne qui venait de rentrer dans mon équipe ne comprenait pas pourquoi je réecrivais certaines fonctions en asm bien plus long ... alors je lui ai demandé de coder une fonction de luminance comme il en avait l'habitude (utilisation de l'api pour des chose aussi "simple" comme il disait ). Puis on a exécuté nos 2 fonctions sur une image 800x600 en 32 bits ... bilan, sa méthode qu'il considerait exemplaire mettait 12ms ce qui est plutôt bien, et celle en asm avec du SSE mettait 750us ... il a tout de suite compris l'intérêt de l'assembleur et il s'est mis à optimiser tous ses anciens codes en asm et en rusant ... bilan, il a apporté plus de 66% d'efficacité sur nos code ce qui nous a permis de faire bien plus de chose sur notre appli qu'on ne pouvait en espérer ;)
(et au passage il est devenu accro à l'asm ..... )
Voilà ... j'espère que cette anecdote te permettra de comprendre le but du codage asm ;) parfois c'est bien plus long à écrire mais quand le gain d'efficacité est au rendez-vous, quel satisfaction ;)

Gentoo... que du bonheur ...
mardi 20 novembre 2007 à 11:41:33 | Re : luminance d'un pixel

_dune2_

Membre Club
Tout le monde a trouvé l'erreur je suppose :)
La formule de luminance vidéo :
L = 0.3 * R + 0.59 * G + 0.11 * B
L = 77/256 * R + 151/256 * G + 28/256 * B
L = ((77 * R + 151 * G + 28 * B) / 256)
or X/256 => X>>8
donc L=(77*R+151*G+28*B)>>8 :)

Null n'est parfait ;)

Gentoo... que du bonheur ...
mardi 20 novembre 2007 à 21:39:24 | Re : luminance d'un pixel

raoulli

salut.

donc L=(77*R+151*G+28*B)>>16 !! tu vois encore des floats là ???? ,je regarderai.
en esperant que ca colle avec le codage windows, mais bon, se serra juste experimental, vu que c'est deja fait, (j'ai ete obligé de faire un debogueur pas a pas specialement pour lui (le fpu), car je ne m'en etait jamais servi, et de plus softice en mode source et hexa, ne gere pas ses registres st(x) domage.Grrrrrr.

et dire qu'on l'appel bas niveau !!!, hihihihi, heureusement, que ce terme signifie le rapprochement du language processeur, et non sa puissance qui en est l'inverse, Et puis quel bonheur le ring 0, enfin..., chacun y trouve son avantage.

Par contre je suis absolument contre le fait d'utiliser les APIs là où le codage en assembleur prend toute son sens ! Les manipulations d'octets, les manipulations de flux image/audio/vidéo ainsi que les calculs sont les exemples types d'optimisations en assembleur ! == entierement daccord, mais bon, c'est pas mon boulot, j'ai pas la journée, j'ai mon dernier projet preque fini 3500 lignes, en me couchant a 3h du mat, une ch'tite api fait pas d'mal, dailleur l'heure de mon post precedant en etait pas loin..

je m'attendais pourtant à mieux au vu de tes questions, je voyais enfin une personne interressé par l'assembleur ==
je ne code qu'en assembleur , car c'est le MEILLEUR des languages,et c'est peut dire.C,C++ == languages évolués, hihi.quel blague.
 je code depuis plus de dix ans en asm , alors je ne suis pas pret de m'arreter, c'est comme la clop.

merci, de tes infos, bonne continuation.
a+, sur peut etre une autre question de ma part.
bye.

ps: Par contre je suis absolument contre le fait d'utiliser les APIs là où le codage en assembleur prend toute son sens !
exacte, rien de tel que l'asm pour deffoncer un prog, ou un jeux.







1 2

Cette discussion est classée dans : pixel, connaitre, luminance


Répondre à ce message

Sujets en rapport avec ce message

Fréquence clavier !!! [ par eldered ] Bonjour a tous !Je code actuellement en java un bomberMan et j'ai quelques soucis de fluidité dans mon scrolling de la carte. Certes, si je scroll pix Afficher un pixel [ par S2R ] Bonjour, je voudrait savoir comment afficher un pixel à l'écran sans passer par les interruptions, en mode vidéo 12h.j'ai trouvé une fonction, mais el tasm, couleurs 32bits ou 24bits? [ par qbced ] Lu all! J'me suis mit à la prog asm, la j'arrive à afficher une image en 800*600*32bits, mais mon prob c'est que la plage memoire pour un pixel est de Point d'entrée dans une Dll [ par thiosyiasar ] SalutJ'ai une Dll entre les main et j'utilise Dependency pour trouver les points d'entré.J'ai trois méthodes avec leur adresse d'entrée :- ConvertMetr couleur d'un pixel [ par akina ] IlyJe recherche une fonction en asm (rapide) pour récupérer la couleur d'un pixel de l'écran. Si quelqu'un connait une fonction plus rapide que celle Je recherche developpeur pour faire un OS [ par vinc1008881 ] Je recherche un developpeur qui connait a la fois le C et à la fois l'asm ( pas besoin de s'y connaitre à fond mais si tu conner pas mov ax, ax et int Maitriser chaque petit pixel de l'écran [ par tntprog ] Bonjour, J'aimerais pouvoir afficher ou éteindre le moindre petit pixel de mon écran avec la couleur que je désir. Est-ce que quelqu'un sait comment Graphisme 2D Plein écran avec Window [ par epineurien ] Bonjour ! Voilà , j'ai un problême tout simple : je veux faire une application (qui utilise les api-window au passage) qui puisse passer en plein écra Connaitre le contenu d'une textbox [ par bubulle22 ] Bonjour, j'ai déjà posé ma question dans la section débutant, mais je crois que je recevrais plus d'aide ici Bonjour à tous,Je suis débutant en ASM


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,014 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales