IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

impl�menter fonction Rgb2yuv en c++ depuis le script matlab


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2011
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 3
    Par d�faut impl�menter fonction Rgb2yuv en c++ depuis le script matlab
    Bonjour,

    j'utilise actuellement une biblioth�que de calcul lin�aire appel�e Armadillo. Cette r�cente librairie exploite la notion de template au maximum et est d�crit comme �tant ultra et plus performants que les autres biblioth�ques de m�me types.

    je voudrais voir comment se comporte Armadillo au sein �un algorithme plus complexe. Pour cela, j'ai choisi d�implanter un algo de conversion de couleurs de l�espace RGB vers YUV dont je vais mesurer le temps d'ex�cution sous matlab et visual.


    je d�ja fait le code matlab suivant:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function [Y,U,V]= rgb2yuv(I)
    R=I(:,:,1);
    G=I(:,:,2);
    B=I(:,:,3);
     
    Y=min(bitshift(abs (2104*R+4130*G+802*B+135168) ,-13) ,235);
    U=min(bitshift(abs ( -1214*R -2384*G+3598*B+1052672) ,-13) ,240);
    V=min(bitshift(abs (3598*R -3013*G-585*B+1052672) ,-13) ,240);
    end
    et je voudrais l'impl�menter en c++, voici le code dont je dispose:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void RGB2YUV(const cube& i, mat& y, mat& u, mat & v)
    {
    //récupère les 3 composantes 
    mat R = i.slice(0);
    mat G = i.slice(1);
    mat B = i.slice(2);
    // 
    y=min(( abs(2104*R+4130*G+802*B+135168) >> 13) ,235);
    u=min(( abs( -1214*R -2384*G+3598*B+1052672) >> 13) ,240);
    v=min(( abs(3598*R -3013*G -585*B+1052672) >> 13) ,240);
    }
    le but �tant d�effectuer un d�calage de 13 bits sur les valeurs absolues des valeurs de mes �quations et de prendre le minimum par rapport au valeur mise (235 240 240) et stocker l'ensemble dans une matrice (y u v) mais j'ai vois pas pourquoi ca ne marche pas

    quelqu'un peut-il m'aider a r�soudre ce probl�me?

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2008
    Messages
    26 772
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Ao�t 2008
    Messages : 26 772
    Par d�faut


    Citation Envoy� par yop868 Voir le message
    mais j'ai vois pas pourquoi ca ne marche pas
    Un peu de pr�cision n'a jamais tu� personne : qu'est-ce qui ne fonctionne pas ? �a ne compile pas ? �a donne des r�sultats aberrants ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Cr�er des applications graphiques en Python avec PyQt5
    Cr�er des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Candidat au Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2011
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 3
    Par d�faut
    erreur de compilation concernant l'op�rateur >> et min().

    je ne vois pas comment impl�menter ce que j'ai �nonc� plus haut correspondant au code matlab. quelqu'un a une piste?

  4. #4
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par d�faut
    armadillo a t il un operateur>> sur des matrices d'entiers ?

  5. #5
    Candidat au Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2011
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 3
    Par d�faut
    effectivement je ne dispose pas de l'op�rateur <<, je r�sous ce probl�me en divisant par 2^13 .Par contre ma f� min() fournit avec armadillo ne me permet pas d'effectuer le m�me traitement que celle de matlab dans le cas de la conversion rgb->yuv.

    mon but �tait d'observer si effectivement il y a un r�el gain de performance en terme temps de calcul avec cette biblioth�que et de les comparer � celle de matlab

    comme les performances des op�rations de bases �taient quas-�quivalente.j'ai voulu partir d'un algorithme version matlab plus complexe, de l'impl�menter en c++ avec armadillo et voir ce que �a donne.

    Si quelqu'un dispose de quelques choses me permettant de faire ses tests, je suis preneur.

Discussions similaires

  1. Faire un exit 1 depuis une fonction ex�cut�e au sein d'un script
    Par leon1983 dans le forum Shell et commandes GNU
    R�ponses: 3
    Dernier message: 04/03/2013, 13h49
  2. R�ponses: 2
    Dernier message: 26/02/2010, 06h34
  3. [PHP-JS]Ouvrir un pop-up depuis un script PHP ?
    Par boteha dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 07/01/2005, 12h28
  4. [web] lancer page HTML depuis un script perl
    Par lilou0210 dans le forum Web
    R�ponses: 7
    Dernier message: 05/11/2004, 16h04
  5. Lancement d'un programme java depuis un script php
    Par gexti dans le forum D�veloppement Web en Java
    R�ponses: 8
    Dernier message: 07/05/2004, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo