- Labornetzteil AliExpress         
Seite 4 von 11 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 31 bis 40 von 108

Thema: Bilder einer Webcam / DV-Cam analysieren

  1. #31
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    22.11.2003
    Beiträge
    459
    Anzeige

    Powerstation Test
    Warum postet Ihr denn nicht einfach eure Codes? Oder wenigstens die Algos, wie zefram schon gesagt hat. Das würde vieles um Einiges einfacher machen.

    Gruß
    Johannes
    relaunched: http://www.mindrobots.de algorithms for intelligent robots

  2. #32
    Gast
    Also ok, unter www.tu-chemnitz.de/~niko/biber gibts die .exe und ein paar Testbilder.

    Bitte beachten: Das Prog schluckt im Moment nur .bmp mit 256 Graustufen.

    Der C++ Algorithmus zur Kantenerkennung:

    Code:
    /**************************************************************************
    *  Methode:             sobel_kombiniert                                  *
    *  Sichtbarkeit:        public                                            *
    *  Parameter:           schwelle                                          *
    *                                                                         *
    *                                                                         *
    *  Funktion:            führt eine Faltung mit dem beiden                 *
    *                       Sobel-Operatoren aus (Gradientenverfahren),       *
    *                       benutzt den  in 'schwelle' übergebenen Wert zur   *
    *                       Binearisierung des Bildes                         *
    ***************************************************************************/
    bool TbiberImage::sobel_kombiniert(TbiberPix schwelle,TbiberPix *oldPix)
    {TbiberPix kern1[3][3]={ {1,0,-1},
                             {2,0,-2},
                             {1,0,-1}};
     TbiberPix kern2[3][3]={ {1,2,1},
                            {0,0,0},
                            {-1,-2,-1}};
      int summe=0,s1=0,s2=0;
      int x,y;
      TbiberPix* newPix;
      int *ykoord, y1,y2,y0;
    
      if (!(newPix=(TbiberPix*)calloc(TbiberImage::size,sizeof(TbiberPix)))) return false;
      if (!(ykoord=(int*)calloc(width,sizeof(int)))) return false;
      if (oldPix) memcpy(oldPix,pixels,TbiberImage::size*sizeof(TbiberPix));
    
    
      for (y=0;y<height;y++) ykoord[y]=y*width;
    
      for (y=1;y<height-1;y++)
      {     y0=ykoord[y];
            y1=ykoord[y+1];
            y2=ykoord[y-1];
            for (x=1;x<width-1;x++)
            {       s1=-getPix(y2+x-1)+getPix(y2+x+1)-2*getPix(y0+x-1)+2*getPix(y0+x+1)-getPix(y1+x-1)+getPix(y1+x+1);
                    s2=-getPix(y2+x-1)-2*getPix(y2+x)-getPix(y2+x+1)+getPix(y1+x-1)+2*getPix(y1+x)+getPix(y1+x+1);
    
                   //  summe=sqrt(pow(s1,2)+pow(s2,2));
                    summe=(abs(s1)+abs(s2)) /2;
    
                    if (schwelle)
                    {       if (summe<schwelle) summe=0;
                            else summe=255;
                    }
                    else if (summe>255) summe=255;
    
                    newPix[y*width+x]=(TbiberPix)summe;
            }
      }
    
      memcpy(pixels,newPix,TbiberImage::size*sizeof(TbiberPix));
      free(newPix);
    
      return true;
    }
    ... ist eine Faltung mit dem horizontalen und vertikalen Sobel-Operator.

  3. #33
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.11.2003
    Ort
    Chemnitz
    Alter
    43
    Beiträge
    129
    Das letzte Posting war von mir, sorry.

    Noch was zu dem Programm: Lade mal das bild rechtecke2.bmp und wähle dann im Menü Segmentierung das Zeilenkoinzidenzverfahren. In der drop-down Liste kann man dann alle gefundenen Objekte durchgehen und unten wird angezeigt, ob es als Rechteck, Sechseck usw. erkannt wurde.
    Dafür wird die Datei "objekte.dat" benötigt.
    Grüße,
    zefram

    --
    www.roboking.de - Jetzt bis zum 31. Mai 2007 anmelden für die fünfte Runde des großen Roboterwettbewerbs für Schüler aus Deutschland, Österreich und der Schweiz -

  4. #34
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2004
    Beiträge
    11
    Hi!

    Ich habe auch letztens mit graphischer Bearbeitung angefangen.
    Nur habe ich als einzige Lösung, dass ich jeden Pixel einzelln auslese und die RGB werte Checke.
    Dafür brauche ich dann pro Bild etwa 3s!!!!

    Wenn ich mit mal eure Zeiten so angucke, naja!

    Könnt ihr mit mal bitte posten, welche API's ihr benutzt und vieleicht noch ein bissele Code?
    Wär echt net.

    Mit freundlichen Grüßen
    Baumrinde

    Ach ja: Ich Code natürlich auch in VB!

  5. #35
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    23.04.2004
    Ort
    München
    Alter
    36
    Beiträge
    288
    Ich hab eigentlich keine APIs benutzt nur eine um die Zeit zu stoppen...

  6. #36
    Neuer Benutzer Öfters hier
    Registriert seit
    04.04.2004
    Beiträge
    11
    Wie bearbeitet ihr denn sonst die Bilder?

  7. #37
    Gast
    Ihr solltet die Bilder auf keinen Fall innerhalb irgendeiner PictureBox oder wie immer sich das Steuerelement unter VB nennt, bearbeiten. Kopiert euch die Pixel in ein großes Array im Speicher und führt eure Operationen dort aus. Die Zugriffe auf die einzelnen Pixel über die Steuerelement-Methoden zu machen, erzeugt eine ganze Menge Overhead, den man nicht braucht.

    (VB ist vielleicht auch nicht unbedingt die beste Wahl für zeitkritische Operationen, aber das ist prinzipiell erstmal egal.)

    Quellcode: Den Anfang hab ich gemacht, das Prog steht auch online, vielleicht zieht jemand nach ...

  8. #38
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    22.11.2003
    Beiträge
    459
    Ich denke du bist zefram?

    Ich habe mir deine Sachen kurz angeschaut, aber vielleicht kannst du nochmal eine kurze Anleitung geben. Leider habe ich im Moment keine Zeit, selbst an dem Thema zu arbeiten. Ich verfolge den Thread aber trotzdem weiter.

    Gruß
    Johannes
    relaunched: http://www.mindrobots.de algorithms for intelligent robots

  9. #39
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.11.2003
    Ort
    Chemnitz
    Alter
    43
    Beiträge
    129
    Hallo,

    ich habe mal eben ein kurzes Tutorial zum Thema Kantenerkennung geschrieben. Es geht nicht auf die Umsetzung in eines Programmiersprache um, sondern zeigt allein den Algorithmus.

    Das Tutorial gibts hier als PDF unter http://www.tu-chemnitz.de/~niko/bibe...l/tutorial.pdf .

    Bei entsprechendem Feedback bin ich auch gern bereit, das Tutorial weiter auszubauen und weitere Themen darzustellen. Das aber natürlich nur, wenn sich auch jemand ernsthaft für solche Sachen interessiert und es dann auch liest
    Grüße,
    zefram

    --
    www.roboking.de - Jetzt bis zum 31. Mai 2007 anmelden für die fünfte Runde des großen Roboterwettbewerbs für Schüler aus Deutschland, Österreich und der Schweiz -

  10. #40
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.02.2004
    Ort
    Baden-Württemberg
    Alter
    37
    Beiträge
    222
    Hallo zefram,

    Ich habe das Tutorial gelesen und freue mich wirklich, dass ich nun
    etwas handfestes habe auf dem ich meine Kantenerkennung aufbauen
    kann. Wenn sich noch weiter Personen für dieses Projekt begeistern
    könnten, würde ich mich über eine Fortsetzung des Tutorials sehr freuen.

    Vielen Dank, Grüße nux
    <p align="center">+++ Lerne die Regeln, dann weißt du, wie man Sie richtig bricht +++</p>

Seite 4 von 11 ErsteErste ... 23456 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress