Vive Qt
 Groupe : Membres
|
Bonjour.
Au début dans mon code j'utilisait opencv pour convertir une image en noir et blanc, mais j'ai des problèmes pour faire de la cross compilation. J'ai réecrit mes fonctions sans opencv, il me reste juste à trouver comment convertir une image couleur en noir et blanc, pour ensuite l'afficher avec un QPixmap.
J'ai regardé la doc de QImage et de QPixmap, mais je n'ai pas trouvé comment faire.
|
Vive Qt
 Groupe : Membres
|
Up. Je n'ai pas eu le temps de me continuer à réfléchir au problème (bac de français oblige.... foiré d'ailleurs), donc je cherche toujours comment faire.
|
Up!
 Groupe : Membres
|
 Cette réponse a aidé l'auteur du sujet
Salut,
Il faut accéder a l'image pixel par pixel, tu utilise la représentation RGB ou rvb (rouge vert(green) blanc) et tu modifie la valeur des composantes . Pour le blanc r=0 , g=0, b=0
et pour le noir r=v=b=255 (si ma mémoire est bonne  ).
-Linux sans console,c'est comme window$ sans bugs.
-Le correcteur d'orthographe de firefox ne connait pas le mot " firefox"
|
 Groupe : Membres
|
isoman ta mémoire n'est pas bonne :p, c'est l'inverse : pour noir r = 0, g = 0 et b = 0.
Édité
le 04/09/2008 à 18:30:49
par Nikaulus
|
Vive Qt
 Groupe : Membres
|
Ok, je vais essayer.
Réussi : pour info, voilà le code:
Code : C++ 1
2
3
4
5
6
7
8
9
10
11
12 | //img et dest sont de type QImage
QColor pixel;
for(int x=0; x<img.width();x++) {
for (int y=0; y<img.height(); y++) {
pixel = img.pixel(x, y);
unsigned int average = (pixel.green()+ pixel.red() + pixel.blue()) / 3;
pixel.setGreen(average);
pixel.setBlue(average);
pixel.setRed(average);
dest.setPixel(x,y,pixel.rgb());
}
}
|
Édité
le 04/07/2008 à 13:41:21
par geenux
|