blastrame
Messages postés10Date d'inscriptionmardi 20 janvier 2009StatutMembreDernière intervention 8 juin 2010
-
6 mai 2010 à 21:27
blastrame
Messages postés10Date d'inscriptionmardi 20 janvier 2009StatutMembreDernière intervention 8 juin 2010
-
7 mai 2010 à 19:20
Bonsoir j'aurais beosin de votre aide car je bloques :(
Je souhaiterais a mon code pouvoir compter le nombre de pixel de couleur noir de l'image en octects et ameliorer la rapiditer de mon code car actuellement il est long a executer le systeme est long a tous afficher.
Merci d'avance de vos reponses, mon code se trouve ci joint.
<secret>
#include
#include <fstream>
using namespace std;
#include<windows.h>
void main ()
{
ifstream fichier ("nomfichier.bmp", ios::in | ios::binary);
BITMAPFILEHEADER enteteBitmap;
BITMAPINFOHEADER infoBitmap;
int nbPixels, i;
byte *tableauPixels;
if (!fichier)
cout << "Erreur d'ouverture" << endl;
else
{
//! Lecture des entêtes
fichier.read ((char*)&enteteBitmap, sizeof(BITMAPFILEHEADER));
fichier.read ((char*)&infoBitmap, sizeof(BITMAPINFOHEADER));
//! Calcul du nombre de pixels à lire
nbPixels = enteteBitmap.bfSize - enteteBitmap.bfOffBits;
//! Allocation dynamique pour les données 24 bits
tableauPixels = new byte[nbPixels];
//! Lecture du fichier
fichier.read ((char*)tableauPixels, nbPixels);
fichier.close();
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 7 mai 2010 à 09:08
Salut
C'est long, c'est parce que tu affiches une image dans une console! Regarde mes sources, il y a plein d'exemple de traitement de l'image, d'affichage d'image. Sinon la méthode est bonne si tu enlèves les cout.
Pour rechercher les pixels noir, rien de plus facile: il suffit d'un parcours sur l'image.
for(i=NbPixel/3-1;i>=0;i--)
if(tableauPixel[i*3]==0 && tableauPixel[i*3+1]==0 &&tableauPixel[i*3+2]==0)
//C'est un pixel noir!