Jump to content
Jagware

SCPCD

Level2
  • Content count

    1,134
  • Joined

  • Last visited

Posts posted by SCPCD


  1. De rien...

     

     

     

    C'est grâce à CTS que j'ai moi même réussi ;)

     

     

     

    Sinon, j'ai fini par retrouver les formules exactes de convertion RGB->CRY et donc aussi de CRY->RGB. C'était pas évident à retrouver : c'est plusieurs changements de base mais le calcul en lui même est en fait relativement simple.

     

    Mais elles ne sont encore que sur papier.

     

     

     

    SCPCD.


  2. en fait, fgetc c'est la fonction C qui permet de lire un fichier.

     

    elle retourne l'octet pointer par le pointeur de fichier et fait pointer le pointeur (:wacko:) du fichier sur l'octet suivant. :blink:

     

     

     

    En gros, la fonction C que j'ai mis sert a lire le fichier des valeurs de convertion et de remplir le tableau tab[i ][j][k] dans un certain ordre.

     

    [pfs]5-rgb2cry.zip[/pfs]


  3. Je peux expliquer sans probleme comment fonctionne la convertion RGB->CRY et inversement..

     

    (je l'ai utilisé pour le traitement video pour le robot : avec 60 frames / secondes en 320*240)

     

     

     

    en fait, la vrai formule de convertion est si compliqué qu'il est préférable d'utiliser une table de convertion.

     

    Pour cela, il y a 2 tables possibles :

     

    -une petite table de 32Ko mais il faut faire un peu de calcul

     

    -une table de 16Mo donc sans calcul mais sa prend de la place

     

     

     

    la méthode la plus rentable est sans doute la premiere (sauf si l'on a suffisament de RAM)

     

    pour la convertion RGB->CRY :

     

     

     

    il suffit de faire le calcul suivant :

     

    1) calcul de Y:

     

    Y = max(R,G,B)

     

     

     

    2) calcul de la position de la couleur dans le tableau 3D :

     

    si Y est différent de 0 :

     

    XX = ((r * 255) / y)>>3;

     

    YY = ((g * 255) / y)>>3;

     

    ZZ = ((b * 255) / y)>>3;

     

    sinon

     

    XX = 0;

     

    YY = 0;

     

    ZZ = 0;

     

     

     

    3) lire la valeur CR dans le tableau :

     

    CR = tab[XX][YY][ZZ]

     

     

     

    le tableau de convertion est dans l'ordre (en code C pourrit mais comprehensible ;)):

     

    for (i = 0; i <= 0x1F; i++)

     

    {

     

    for (j = 0; j <= 0x1F; j++)

     

    {

     

    for (k = 0; k <= 0x1F; k++)

     

    {

     

    tab[j][k] = fgetc(f_rgb2cry);

     

    }

     

    }

     

    }

     

     

     

    (Comment on fait pour joindre un fichier ?)

     

     

     

    pour convertir de CRY a RGB, il faut :

     

    les 3 tableaux qui sont dans la documentation de la JAG

     

     

     

    puis faire le calcul suivant:

     

    (C,R, et Y corespondent aux éléments du pixels CRY)

     

    rouge = (tab_rouge[C][R]*Y)/255

     

    vert = (tab_vert[C][R]*Y)/255

     

    bleu = (tab_bleu[C][R]*Y)/255


  4. Je pense aussi que la solution flash est trop chère surtout si c'est pour une version final.

     

    La flash a un interet que pour les developpeurs qui veulent avoir une cartouche de test tel que la carte Flash de developpement qui existe déja (et rare).

     

     

     

    Je ne sais pas encore comment faire pour programmer les flashs sur le PCB mais je peux regarder pour refaire une carte de developpement Flash (après les autres projets en cours ;)).

     

     

     

    Sinon, c'est vrai que l'on a tout ce qu'il faut pour refaire des cartes maisons.

     

    Si l'on veut faire des cartouches finales, il vaut mieux utiliser des EPROMs voir PROMs (comme conseillé Frost) au format standard : les PLCC c'est beau mais pour les programmer c'est plus embettant. (sauf si l'on peut les programmer sur le PCB)

     

    Par contre, je ne sais pas a combien reviendrais une cartouche....

     

     

     

     

     

     

     

    J'ai moi aussi tout le matériel pour fabriquer des prototypes. (programmateur, graveuse, insoleuse...)


  5. Si l'on veut faire du 640x480, je ne sais pas trop si il est possible de le faire sans etre en mode entrelace (sur un ecran de TV normal). Je n'ai pas encore trouvé (j'ai pas non plus trop cherché) mais vous y arriverais sans doute mieux que moi.

     

    Sinon, il est possible de le faire sur un VGA mais bon sa n'a pas une grande compatibilité...

     

     

     

    Sinon, le mode 640x240 est plutot correct. (je l'utilise pour l'instant pour mon OS le temps de trouver comment faire pour avoir de 640x480)

     

     

     

     

     

    SCPCD

×