Hallo,
ich arbeite mit VC .net
Ich habe eine Rohbilddatei mit 10Bit pro Pixel, ich möchte die 10Bit auslesen in 8Bit umwandeln.
Über einen Outputstream wird das dann in eine Datei geschrieben(den Imageheader vernachlässige ich erstmal).
Hier habe ich den Quelltext wo ich statt Bit Char verarbeite, da ich nix kleineres kenne
Mein Problem ist das ich nicht weiss wie ich die Bits einzeln auslese.
Danke
ich arbeite mit VC .net
Ich habe eine Rohbilddatei mit 10Bit pro Pixel, ich möchte die 10Bit auslesen in 8Bit umwandeln.
![Confused :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)
Über einen Outputstream wird das dann in eine Datei geschrieben(den Imageheader vernachlässige ich erstmal).
Hier habe ich den Quelltext wo ich statt Bit Char verarbeite, da ich nix kleineres kenne
Code:
// Input
string filename = "Datafield.raw";
ifstream input;
input.open(filename.c_str(), ios_base::in | ios_base::binary);
if(!input){
cout << "Die Datei konnte nicht zum Lesen geoeffnet werden!" << endl;
}
// Output
string formatdata = "formatdata.raw";
ofstream output;
output.open(formatdata.c_str(), ios_base::out | ios_base::app | ios_base::binary);
if(!output){
cout << " Die Datei konnte nicht zum schreiben geoeffnet werden" <<endl;
}
char zeichen;
while(!input.eof())
{
for(int i = 0; i < 8; i++)
{
input.get(zeichen);
output.put(zeichen);
}
// Hier werden Bit 9 und 10 einfach nicht mit in den Outputstream aufgenommen
for(int j = 0; j < 2; j++)
{
input.get(zeichen);
}
}
Mein Problem ist das ich nicht weiss wie ich die Bits einzeln auslese.
Danke