DOURNAC.ORG
Français  English
 

Image Processing GUI with C++/QT/OpenCV


Coding > Image Processing GUI with C++/QT/OpenCV

 

On se propose de développer une gui permettant de visualiser et de traiter des images de formats standards (bmp,png,gif,jpeg...). Cette interface a été codée en C++ avec l'utilisation de la librairie QT. Le traitement d'images consiste d'abord à atténuer le bruit et détecter les gradients horizontaux, verticaux et les contours. Toute cette chaîne de calcul s'appelle le . Par la suite, nous présenterons une évolution de cette application pour le traitement d'un flux vidéo (via une webcam) avec la librairie OpenCV.

L'application "Image_Viewer" est téléchargeable ici : Image_Viewer.tar.gz


Elle a été compilée sous Debian Squeeze 6.0 . Il est nécessaire d'avoir les librairies QT4. Une fois l'exécutable lancé, nous commencons par charger une image (la célèbre "lena.gif"). Voici le résultat sur l'image suivante :


Avant la détection des gradients et des contours par les opérateurs de Sobel, il faut d'abord mettre en place une procédure de filtrage par convolution gaussienne avec un masque "flou" (cf "Canny edge detector") de taille "5x5" qui permet d'atténuer les disparités présentes sur l'image et ainsi réduire le bruit. On obtient alors l'image suivante :


Nous implémentons à ce stade la détection de contours par les opérateurs de Sobel. Voici l'image produite :


L'évolution naturelle est d'appliquer tout ce traitement non plus à des images mais à un flux vidéo. On utilise pour cela la librairie OpenCV.

L'application "Canny_Streaming" est téléchargeable ici : Canny_Streaming.tar.gz
Vous pouvez regarder la vidéo qui suit comme exemple, elle a été réalisée grâce à "xvidcap" :



ps : join like me the Cosmology@Home project whose aim is to search for the model that best describes our universe

Home | Astronomy | Sciences | Philosophy | Coding | Cv
- dournac.org © 2003 by fab -