Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1344 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  look up table (LUT)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

look up table (LUT)

n°1362307
heyheyhey7​1
Posté le 09-05-2006 à 13:02:44  profilanswer
 

quelqu'un peut 'il m'expliqué ce qu'est une LUT et exactement à quoi cela sert.
 
Je dois utilisé cet méthode pour faire une segmentation d'une image RGB en HSV
 
j'ai récupéré 4 fonction:
Allocmatrix()
Freematrix()
setMatrix
getMatrix
calculateMatrix
 
mais j'ai jamais utilisé cet méthode et donc je suis perdu
J'ai regardé sur internet mais personne n'explique la base et comment ca fonctionne...

mood
Publicité
Posté le 09-05-2006 à 13:02:44  profilanswer
 

n°1362530
bjone
Insert booze to continue
Posté le 09-05-2006 à 16:09:00  profilanswer
 

une LUT c'est une table de précalcul/correspondance.
 
tu peux très imaginer une table comme ceci:
 
unsigned char Modulate[256][256];
 
qui fait 65Ko.
 
qui te permetterai de remplacer:
 
unsigned char mod( unsigned char value, unsigned char coef )
{
    return (int)(value*coef)/255; // faites pas chier avec les casts, c'est un exemple
}
 
par:
 
unsigned char mod_lut( unsigned char value, unsigned char coef )
{
    return Modulate[coef][value];
}
 

n°1362555
heyheyhey7​1
Posté le 09-05-2006 à 16:28:25  profilanswer
 

Mouai c'est encore un peu flou pour moi mais ca viendra, et sinon tu connais Qtdesigner le logiciel ? Car je dois fair une table pour ensuite pouvoir fair une segmentation d'une image RGB en HSV
 
J'ai récupéré un programme en c pour construire cet table mais les byte ne sont pas reconnu sur qtdesigner

n°1362566
bjone
Insert booze to continue
Posté le 09-05-2006 à 16:36:14  profilanswer
 

non pas vraiment, mais pour moi c'est en environnement de construction d'IHM pour Qt, ça doit utiliser un compilo C/C++ sous-jacent.
 
a priori tes "bytes" c'est des unsigned char comme d'hab.

n°1363389
heyheyhey7​1
Posté le 10-05-2006 à 15:04:34  profilanswer
 

Bon après avoir regardé sur internet, je vois a quoi sert la LUT. A faire des calcules préliminaire pour ensuite ne plus avoir a les refair pendant le déroulement du programme.
 
Seul hic, cet histoire de byte, car le programme que j'ai récupéré marche en byte mais cela n'est pas reconnu par QT.
 
Et sous qt pour récupéré mes valeur de RGB de l'image, je travail avec des floats. Doije plus utiliser des byte que les floats ?

n°1363490
bjone
Insert booze to continue
Posté le 10-05-2006 à 16:08:39  profilanswer
 

ça dépends de la nature du traitement, du volume de données.
 
chaque composante RVB et HSV peut rester en byte, mais tu auras ptet besoin de passer par des traitement en virgule flottante a certains moment.
 
de toutes façon, dans les versions préliminaires de ton code il vaut mieux  être en float, et ensuite voir ce qui est le mieux.

n°1363500
heyheyhey7​1
Posté le 10-05-2006 à 16:11:36  profilanswer
 

oui mais j'ai 4 fonction qui son déja toute faite:
Allocmatrix()
Freematrix()
setMatrix
getMatrix
calculateMatrix  
 
elle fonctionne toutes en byte mais qd j'ai fait un copier coller, byte n'est pas reconnu (elle ne se met pas en couleur)
 
donc autant transformé des float en byte pour mes RGB et rien changé au code de mes fonctions
 
mais bon ya se problème de byte
j'ai regardé sur QT ya QByteArray mais bon je sais pas trop quoi fair

n°1363615
bjone
Insert booze to continue
Posté le 10-05-2006 à 17:16:13  profilanswer
 

byte doit être un unsigned char.
 
fait un:
 
typedef unsigned char byte;
 
et regarde si ça passe.

n°1364045
heyheyhey7​1
Posté le 11-05-2006 à 10:59:44  profilanswer
 

j'ai

Code :
  1. Matrix = (byte***) malloc (sizeof(byte**)*128);
  2. if(Matrix==NULL) return FALSE


 
il me met que Matrix et FALSE ne sont pas déclaré

n°1364080
heyheyhey7​1
Posté le 11-05-2006 à 11:30:13  profilanswer
 

pour les FALSE, c'est bon, j'ai trouvé mais Matrix je sais même pas ce que c'est lol

mood
Publicité
Posté le 11-05-2006 à 11:30:13  profilanswer
 

n°1364096
heyheyhey7​1
Posté le 11-05-2006 à 11:42:43  profilanswer
 

Bon déja ca compile tout, donc c'est déja ca...
Après tout fonctionne en byte enfin en unsigned char donc il va falloir que je transforme mes float en unsigned char !!! ca existe cte chose ;) ?

n°1364110
bjone
Insert booze to continue
Posté le 11-05-2006 à 11:52:45  profilanswer
 

oui mais là c'est du C, plus de l'algo.
 
bah bètement:
 
unsigned char c;
 
float f=c;
 
maintenant, comme tu travailles sur des amplitudes d'un signal (une couleur en l'occurence), ce serait plustôt
 
float f=c/255; // c*(1/255)

n°1364121
heyheyhey7​1
Posté le 11-05-2006 à 12:02:17  profilanswer
 

ba en faite j'ai regardé un peu le programme de cet LUT et en faite c'est un tableau qui fait toutes les combinaisons de RGB puis avec mes valeur de HSV choisi pour la segmentation associ chaque combinaison à un FALSE pour si faut pas gardé et TRUE sil faut grader....
 
Comme cela tous les calculs sont fait au lancement du programme!!

n°1364122
heyheyhey7​1
Posté le 11-05-2006 à 12:02:49  profilanswer
 

mais je vais regardé ca encore de plus près pour savoir exactement mais je pense que c'est ca

n°1364356
heyheyhey7​1
Posté le 11-05-2006 à 16:03:19  profilanswer
 

Bon après des tests multiples, ma LUT marche trop nikel !! :) youpi
J'ai galéré pour la fair fonctionné...
 
La segmentation HSV est biento fini mais après vien un truc que j'ai horreur. C'est de fair une fonction qui affiche sur mon label le centre de l'objet qui aura été segmenté avec HSV

n°1364358
heyheyhey7​1
Posté le 11-05-2006 à 16:04:26  profilanswer
 

Donc en faite, je rechange de topic lol  
[url]
http://forum.hardware.fr/forum2.ph [...] w=0&nojs=0
[/url]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  look up table (LUT)

 

Sujets relatifs
Effet d'un OPTIMIZE TABLE sur tables innodb[SqlServer] DELETE ds une table distante : pb avec le WHERE
TABLE ou CSS ???update (plutot ajout) dans table via un select
[VBA ACCESS] Créer une table à partir des noms de fichiersAcces mise a jour d'une table
Augmenter de +1 un nombre dans une table de données[C] : placer des fcts dans table + cmt determiner le type d'un variabl
problème de recherche sur une tablebesoin aide pour remplacer fichier php par table sql?
Plus de sujets relatifs à : look up table (LUT)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR