Pixel in einem Bild ermitteln
-
Hallo!
Ich hab die aufgabe gestellt bekommen, das ich ein beliebiges Bild öffne und das programm mir dann die Pixel ausgibt und mir die Anzahl an grauwerten sagt. Ich kann im moment die datei nur direkt im quellcode eingeben, würde sie aber gern über eine eingabenaufforderung eingeben lasse, damit das programm variabler ist.
Vielleicht kann mir ja einer von euch helfen. Vielen Dank schon mal.hier nun das was ich bisher hab.
#include "stdafx.h"
#include "stdio.h"int main(void)
{
double grauwert=0;
double i=1;
double prozent=55;
char zeichen;
int wert;FILE *datei;
datei=fopen("C:\\Temp\\lea.raw","r");
while (feof(datei)==0)
{
zeichen=wert; --> wert = ASCII wertif (wert<128)
{
grauwert=grauwert+1;
}fscanf(datei,"%c",&zeichen);
i=i+1;
}grauwert=grauwert-1;
i=i-2;
prozent=grauwert/i*100;
printf("Die Datei enthaelt insgesamt %6.0lf Pixel.\n",i);
printf("Davon sind %6.0lf Fremdwerte.\n",grauwert);
printf("Das entspricht %3.2lf%%",prozent);
fclose (datei);
}
-
nix int main(void);
int main(int argc, char** argv) { machwas_mit(argv[1]); }
-
Das ist aber C und kein C++
Habt ihr C in der Schule?
-
nee wir sind gerad dabei c++ zu lernen
sind aber noch nicht wirklich weit. das ist eine aufgabe die ich an der arbeit bekommen habe.
-
also unter C++ geht so :
char szfile[50]; ifstream dat; // der argumentlose Konstruktor "ifstream" erzeugt das Objekt"dat" //-------------- Existenztest der Datei do { dat.clear(); //clear status flags des Inputstreams "dat" cout<<"Dateiname inklusive Pfad eingeben: "; cin>>szfile; dat.open(szfile,ios::in); // "dat" wird geöffnet zum Lesen if(dat.fail()) // Fehlertest durchführen cout<<"Datei existiert nicht!"<<endl; }while(dat.fail());