Zum Inhalt springen

schmiddys

Mitglieder
  • Gesamte Inhalte

    7
  • Benutzer seit

  • Letzter Besuch

  1. 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.
  2. Das Format ist ein bitmap. Kannst du mir eventuell nen beispielcode dafür geben? Wäre super. Kann auch mal meinen Quellcode reinstellen. //Buffer initialisieren void InitUserBuffer( CyUserBuffer &userBuffer, CSpyder3GigEInterface *camera ) { unsigned long width=0; unsigned long height=0; unsigned long pixelWidth =0; camera->GetSizeX(width); camera->GetSizeY(height); camera->GetPixelByteSize(pixelWidth); long bufferSize = width*height*pixelWidth; userBuffer.SetBuffer( new unsigned char[bufferSize], bufferSize); } void main() { CCameraConnection camCon; // Connect printf("Verbinden...\n"); if ( camCon.Connect() ) { CSpyder3GigEInterface *camera = camCon.GetCamera(); camCon.LoadXMLFile("\\Config.xml"); // Set up Camera camera->SetExposureMode(2);// sem 2 - control line rate and exposure time // through software camera->SetLineRate(16878.0F); // Zeilenfrequenz auf 16878Hz camera->SetSizeY(1000); // Anzahl der Zeilen 1000 camera->SetExposureTime(500.0F); // Belichtungszeit auf 500 uS camera->SetPixelType( CyGrayscale8::ID); // 8 bit //Allocate Buffer CyUserBuffer userBuffer(NULL, 0); InitUserBuffer( userBuffer,camera); // Get Grabber CyGrabber &grabber = camera->GetGrabber(); // Eigenschaften des Eingabefensters unsigned long width=0; unsigned long height=0; CyDisplayEx display; camera->GetSizeX(width); camera->GetSizeY(height); display.Open( NULL, 20, 20, (unsigned short)width/2, (unsigned short)height/2 ); time_t curTime, lastTime =0; printf("Press any key to Quit\n"); while ( _kbhit() == 0) { time( &curTime ); // Snap an image and display every 5 seconds if ( curTime > lastTime + 50000 ) { // Snap an image - Wait for it if ( grabber.Grab( CyChannel(0), userBuffer, 0)== CY_RESULT_OK ) { display.Display( userBuffer.GetBuffer(), userBuffer.GetBufferSize(), (unsigned short)width, (unsigned short)height, CyGrayscale8::ID ); } } display.PumpGUIMessage(); } // Speicherplatz für den Buffer wieder frei geben delete [] userBuffer.GetBuffer(); camCon.Disconnect(); } }
  3. Hallo! Ich hab mir über das SDK eines Herstellers ein Bild(Schnappschuss) von einer Kamera erzeugt, es aber nicht abgespeichert. Nun wollte ich von euch wissen, wie kann ich mir aus diesem Bild die Pixel auslesen lassen. Das Bild ist schwarz-weiß. Ich benutze Visual Studio 2005. Wäre super, wenn ihr mir einige Tipps geben könntet. Gruß
  4. Trotzdem vielen Dank für eure Hilfe. Dann werde ich mich mal an die Arbeit machen. Ich melde mich nochmal, wenn ich euch mehr dazu sagen kann
  5. Kannst du mir dann eventuell mit dem Pixel auslesen helfen? Das mit der Kamera ist dann ne Sache, die ich allen bewältigen muss. Aber wenn ich dann das Bild haben, kann ja auch einfach ein normales schwarz-weiß Bild sein, was schon vorher in das Programm eingebunden wurde, wie bekomme ich dann die Pixel?
  6. Die Kamera ist von Dalsa. Ist eine Spyder3 mit GigE. Bibliotheken sind vorhanden. Kannst du mir dann eventuell sagen, wie ich aus nem einfachen schwarz-weiß Bild die Pixel ausgeben kann?
  7. Hallo erstmal! Ich hab noch nicht soviel Erfahrung mit C++. Ich danke euch schonmal im Voraus für eure Beiträge auch wenn meine Fragen für euch ziemlich einfach erscheinen werden. Ich soll ein Bild von einer monochromen Kamera auslesen und mir dann das komplette Bild in Pixel ausgeben lassen. Wobei weiß den Wert 255 und Schwarz den Wert 0 haben soll. Wie kann ich mir das Bild von der Kamera holen und wie kann ich das nachher in Pixeln darstellen. Ich verwende Visual Studio 2005. Vielen Dank schonmal im Voraus

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...