Hallo!
Ich würde gerne die Daten, die ich in einer Funktion erzeuge in einer Text-Datei speichern und wieder ausgeben.
Hier ist die Funktion:
void ProcessImage(CyUserBuffer &userBuffer, CSpyder3GigEInterface *camera)
{
// Process image
unsigned char *tempBuffer = userBuffer.GetBuffer();
long max = -1, maxX, maxY;
long min = 0x7fffffff, minX, minY; //
unsigned long width=0;
unsigned long height=0;
unsigned long pixelWidth =0;
camera->GetSizeX(width);
camera->GetSizeY(height);
camera->GetPixelByteSize(pixelWidth);
for (int r = 0; r<(int)height; r++)
{
for (int c = 0; c< (int)width ; c++)
{
int value;
if ( pixelWidth == 1)
value = (int)(tempBuffer[ r*width+c]);
else
{
unsigned short indx =(r*width+c) * pixelWidth ;
value = tempBuffer[ indx+1 ]&0x0f;
value = value<<8;
value |= tempBuffer[indx];
}
if ( value > max )
{
max =value;
maxX = c;
maxY = r;
}
if ( value < min )
{
min = value;
minX = c;
minY = r;
}
if ( r%100 == 0)
printf("%d,", value);
}
if ( r%100 == 0)
printf("\n");
}
printf( "Maximum Value(%d, %d) = %d\n",maxX,maxY, max);
printf( "Minimum Value(%d, %d) = %d\n",minX,minY, min);
}
Wenn ihr mir helfen könntet, dann wäre das echt super.
Eine Frage wäre da noch. Was bewirkt die Zeile mit "value = value<<8;"?
Danke schon mal im Vorraus!
Ich würde gerne die Daten, die ich in einer Funktion erzeuge in einer Text-Datei speichern und wieder ausgeben.
Hier ist die Funktion:
void ProcessImage(CyUserBuffer &userBuffer, CSpyder3GigEInterface *camera)
{
// Process image
unsigned char *tempBuffer = userBuffer.GetBuffer();
long max = -1, maxX, maxY;
long min = 0x7fffffff, minX, minY; //
unsigned long width=0;
unsigned long height=0;
unsigned long pixelWidth =0;
camera->GetSizeX(width);
camera->GetSizeY(height);
camera->GetPixelByteSize(pixelWidth);
for (int r = 0; r<(int)height; r++)
{
for (int c = 0; c< (int)width ; c++)
{
int value;
if ( pixelWidth == 1)
value = (int)(tempBuffer[ r*width+c]);
else
{
unsigned short indx =(r*width+c) * pixelWidth ;
value = tempBuffer[ indx+1 ]&0x0f;
value = value<<8;
value |= tempBuffer[indx];
}
if ( value > max )
{
max =value;
maxX = c;
maxY = r;
}
if ( value < min )
{
min = value;
minX = c;
minY = r;
}
if ( r%100 == 0)
printf("%d,", value);
}
if ( r%100 == 0)
printf("\n");
}
printf( "Maximum Value(%d, %d) = %d\n",maxX,maxY, max);
printf( "Minimum Value(%d, %d) = %d\n",minX,minY, min);
}
Wenn ihr mir helfen könntet, dann wäre das echt super.
Eine Frage wäre da noch. Was bewirkt die Zeile mit "value = value<<8;"?
Danke schon mal im Vorraus!