Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/12/2010, à 11:44

N3m3siS

[RESOLU] [OpenCV] Diminution résolution des couleurs

Bonjour à tous !
Dans le cadre de mon projet de fin d'étude, je suis chargé de réaliser un écran interactif (du type Kinect) commandable par des gestes de la main. Je travaille aujourd'hui sous OpenCV en mono-vision et j'obtiens des résultats relativement satisfaisant arrivé à la moitié de mon projet. C'est alors qu'il faut augmenter la robustesse de mon système vis-à-vis de l'environnement extérieur.

En effet, lorsque l'environnement est sympa (du type : statique, sans grande variation de couleur), l'algorithme segmente bien la main. Cependant, cet environnement n'est pas présent partout. J'ai alors pensé à un algorithme de segmentation basé sur la réduction de la résolution des couleurs. C'est à dire, pour prendre un exemple, tout qui tire sur du bleu (et toute ses variantes) soit affiché par un même et unique bleu. Tout ce qui serait plus ou moins rouge s'afficherait par un même rouge.

Cependant, la propriété IPL_DEPTH d'OpenCV fournit une résolution minimale sur 8bits non-signés ce qui est bien trop (256 niveau de bleu, 256 de rouge etc...). J'ai forcément pensé à coder une fonction de "saturation" des couleurs, mais il s'avère que parcourir chaque pixel pour y effectuer des tests est bien trop gourmand en temps de calcul.

Là-dessus, auriez-vous une piste ?

En vous remerciant par avance cool

Dernière modification par N3m3siS (Le 22/12/2010, à 11:41)


Neuro : Ubuntu 10.10 4x64bits@2.53Ghz / RAM 4Go
Kenpachi : Kubuntu 10.10 64bits@2Ghz / RAM 2Go
Ryuuku : Debian 5 Lenny 32bits@1Ghz / RAM 384Mo
[ Mon wiki : http://doc.hisoka.fr || Mon blog : http://blog.hisoka.fr ]

Hors ligne

#2 Le 22/12/2010, à 11:41

N3m3siS

Re : [RESOLU] [OpenCV] Diminution résolution des couleurs

Bonjour,
j'ai finalement trouvé une solution : cvConverScale();
http://opencv.willowgarage.com/document … nvertScale

En l'utilisant de la façon suivante (pour des images codées sur 8bits non-signés) :

cvConvertScale(imgIN, imgOUT, 1/factor);
cvConvertScale(imgIN, imgOUT, factor);

On divise la résolution par factor.

Bon courage à tous !


Neuro : Ubuntu 10.10 4x64bits@2.53Ghz / RAM 4Go
Kenpachi : Kubuntu 10.10 64bits@2Ghz / RAM 2Go
Ryuuku : Debian 5 Lenny 32bits@1Ghz / RAM 384Mo
[ Mon wiki : http://doc.hisoka.fr || Mon blog : http://blog.hisoka.fr ]

Hors ligne