- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Schnelle(!) Objekterkennung mit Raspi+USB-Cam

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    16.03.2006
    Beiträge
    18
    Wenn ich in OpenCV ein nur(!) ein cv.CreateCameraCapture(0) in einer Schleife mache, komme ich auf 4 fps (mit 320x240). Deswegen brauche ich doch gar keinen weiteren Code geben. Mit OpenCV haben auch andere schon solche Erfahrungen gemacht. Diesen Code habe ich auch getestet: http://dl.dropbox.com/u/2500608/LaserDuck.py
    Geändert von phantom111 (01.03.2013 um 17:07 Uhr)

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.02.2013
    Ort
    Graz
    Beiträge
    211
    Ich kann mir da nicht sicher sein, aber mit CreateCameraCapture() holt er wohl nur das rohe Bild von der Kamera, oder? Wenn dir das alleine schon zu langsam ist, dann wird man da innerhalb von opencv wohl nicht viel optimieren können, weil er sich in dem Schritt noch gar nicht mit irgendwelcher Objekterkennung beschäftigt.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    16.03.2006
    Beiträge
    18
    genau das habe ich mir auch gedacht.

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.02.2013
    Ort
    Graz
    Beiträge
    211
    Hast mal online gesucht, ob jemand anderes Erfahrungen mit der selben Kamera in opencv hat?

    Was ich jetzt so gefunden habe, sind diese 3-4fps auf dem Rasberry Pi mit opencv nicht ungewöhnlich. Kriegst du die frames nicht auch mit einem anderen capture-Programm rein?

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    16.03.2006
    Beiträge
    18
    Ja, genau. Mit OpenCV ist das wohl normal. Deswegen will ich ja auch weg von dieser Lib. Habe schon mehrere Beispiele gefunden aber da liegt im Grunde immer OpenCV hinter. Was sind echte Alternativen? Was bringt etwas?

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.02.2013
    Ort
    Graz
    Beiträge
    211
    Was das capturing alleine angeht, da gibts jede Menge Alternativen, das geht schon mit mplayer/VLC/ffmpeg/... aber ich hab damit keine Erfahrung, da gibts sicher weit effizientere Methoden.
    Der Rasberry Pi hat doch ein einigermaßen ausgewachsenes Linux, oder?

    PyGame hat da anscheinend Funktionen, wenn du Python verwenden willst
    http://www.pygame.org/docs/tut/camera/CameraIntro.html

    Andere Möglichkeit wäre Video For Linux V4L2, aber da wühlt man schon im Kernel rum.

    Aber wer weiß, ob es das externe capturing überhaupt bringt, für die Objekterkennung wirst kaum Alternativen finden.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    01.04.2005
    Beiträge
    84
    Zitat Zitat von phantom111 Beitrag anzeigen
    Wenn ich in OpenCV ein nur(!) ein cv.CreateCameraCapture(0) in einer Schleife mache, komme ich auf 4 fps (mit 320x240). Deswegen brauche ich doch gar keinen weiteren Code geben.
    Das ist so auch etwas seltsam, da cvCreateCameraCapture() die Kamera initialisiert.

    Die Doku verstehe ich so:
    Code:
    # 1 mal am Anfang:
    capture = cv.CreateCameraCapture(0)
    while True:
        frame = cv.QueryFrame(capture)
    Geändert von EZ81 (02.03.2013 um 02:09 Uhr)

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Kennst du dieses Video:

    9fps sollten schon möglich sein. Allerdings wird hier ein RasPi mit 512MB verwendet.

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.02.2013
    Ort
    Graz
    Beiträge
    211
    Das lustige ist, dass so viele Leute zum Holen des Bildes von der Kamera ohne irgendwelche anderen Algorithmen schon nur 3-4fps haben. Beim OP wird das jetzt schneller gehen, wenn er wirklich bei jedem Durchlauf die Kamera initialisiert hat, aber das gilt für viele der anderen Leidensgenossen nicht. OpenCV scheint da sehr verschwenderisch mit den Resourcen umzugehen.

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    16.03.2006
    Beiträge
    18
    OK, danke. Das Initialisieren hatte ich leider nicht in der Schleife. Habe mich vertippt. Schade eigentlich. Die Lösung wäre einfach gewesen.

    Hier mein Code. Ich mache das in der Schleife. Danach gehe ich durch die Elemente in contour. Es werden sehr viele gefunden. Das macht alles sehr langsam. Wo ist der Fehler!?

    Code:
                color_image = cv.QueryFrame(self.capture)
                cv.Smooth(color_image, color_image, cv.CV_GAUSSIAN, 3, 0)
                cv.Threshold(grey_image, grey_image, 70, 255, cv.CV_THRESH_BINARY)
                down = cv.Scalar(10,100,100,0) # cv.Scalar(30,100,100) # 
                up = cv.Scalar(40, 255,255,0) #(35,255,255)
                imghsv=cv.CreateImage(cv.GetSize(color_image),8,3)
                cv.CvtColor(color_image,imghsv,cv.CV_BGR2HSV)                # Convert image from RGB to HSV
            
                imgyellow=cv.CreateImage(cv.GetSize(color_image),8,1)
                imgthreshold=cv.CreateImage(cv.GetSize(color_image),8,1)
                cv.InRangeS(imghsv,down,up,imgyellow)    # Select a range of yellow color
                storage = cv.CreateMemStorage(0)
                contour = cv.FindContours(imgthreshold, storage, cv.CV_RETR_CCOMP, cv.CV_CHAIN_APPROX_SIMPLE)

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Schnelle USB FIFO
    Von flo1 im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 1
    Letzter Beitrag: 07.10.2010, 09:16
  2. günstige ccd Cam für USB ( OEM ? )
    Von looy78 im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 1
    Letzter Beitrag: 15.11.2009, 14:30
  3. USB Cam am microcontroller?
    Von .Johannes. im Forum Sensoren / Sensorik
    Antworten: 48
    Letzter Beitrag: 29.07.2006, 11:08
  4. USB-Cam an AVR
    Von Nitronic im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 02.01.2006, 20:50
  5. Daten von USB Cam an Microcontroller
    Von .Johannes. im Forum Sensoren / Sensorik
    Antworten: 1
    Letzter Beitrag: 04.08.2005, 14:37

Berechtigungen

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

Solar Speicher und Akkus Tests