Bonjour,
je suis débutant dans l'utilisation de Qt , je voudrais connaitre la méthode à suivre pour transformer une image en couleur en entrée en noir et blanc.
puis créer une une fonction qui fait l'histogramme de cette image noir et blanc.
Merci
Bonjour,
je suis débutant dans l'utilisation de Qt , je voudrais connaitre la méthode à suivre pour transformer une image en couleur en entrée en noir et blanc.
puis créer une une fonction qui fait l'histogramme de cette image noir et blanc.
Merci
Oui c'est même assez facile à faire, la seule chose est que Qt n'étant pas une bibliothèque de traitement d'image, il te faudra tout implémenter à la main.
Tout d'abord tu ouvre ton image dans une QImage (à vérifier dans la doc, mais je crois que c'est cette classe qui est la mieux adapté pour manipuler les images à la main).
Ensuite vu que tu peux accéder à chaque pixels à la main, tu peux convertir directement dans ton image (ou faire une seconde QImage qui donnera le résultat).
Enfin pour l'histogramme, ce n'est qu'un compte du nombre de pixels de telle ou telle clareté, donc pas beaucoup plus compliqué.
Pour l'affichage de l'histogramme en revanche, rien n'éxiste sous Qt en natif, mais il existe une bibliothèque pour gérer tout ce qui est graphiques scientifique: Qwt
Bonjour,
voici un exemple de programme représantant un dégradé de gris :
Bonne programmation...!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 #include <QColor> #include <QPainter> #include <QApplication> //#include <QGradient> #include <QPixmap> //#include <QBrush> //#include <QPen> #include <QLabe> class Couleur { public : QPixmap image() { QPixmap gris(770,200) ; gris.fill(QColor::QColor(255,255,255)) ; qint32 count = 0 ; qint32 epais = 0 ; QPainter crayon(&gris) ; QColor unecouleur ; for (count = 0,epais = 0 ;count < 255 ; count++,epais+=3) { unecouleur.setRgb(count,count,count) ; crayon.fillRect(epais,1,(3+epais),200,unecouleur) ; } return gris ; } }; qint32 main(qint32 argc,char ** argv) { QApplication app(argc,argv) ; Couleur gris ; QPixmap pixels ; pixels.operator=(gris.image()) ; QLabel label ; label.setPixmap(pixels) ; label.show() ; app.exec() ; return 0 ; }
Dernière modification par dourouc05 ; 15/11/2010 à 20h12.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager