Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo!

Ich würde gerne Daten, die über eine Funktion ausgelesen werden in eine Text Datei speichern und dann diese über das Programm öffnen.

Die Funktion hat folgenden Code:

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);

}

Ich möchte als die Werte, die über printf erzeugt werden, in diese Datei schreiben.

Wie geht das?

Kann mir jemand einen Beispiel Code dazu schicken, wenn das möglich ist?

Wäre super, wenn ich ne Antwort bekomme. Ist echt wichtig.

Geschrieben

Das ist der Code:

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); // Was soll das?

		} // next c

		if ( r%100 == 0)

		printf("\n");

	} // next r

printf( "Maximum Value(%d, %d) = %d\n",maxX,maxY, max);

printf( "Minimum Value(%d, %d) = %d\n",minX,minY, min);

}

Was soll die markierte Stelle tun?

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...