- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 119

Thema: RP6 Kamera Bildverarbeitung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von RolfD
    Registriert seit
    07.02.2011
    Beiträge
    414
    Liest sich interssant. Halt uns auf dem laufenden.
    LG Rolf
    Sind Sie auch ambivalent?

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.09.2010
    Alter
    30
    Beiträge
    129
    So, da bin ich wieder.

    Ich habe mir nun die Kamera gekauft und erstmal provisorisch an meinem RP6 befestigt.
    Hier mal 2 Bilder:

    http://img190.imageshack.us/i/rp6kamera.png/

    http://img402.imageshack.us/i/rp6kamera2.png/

    Nun erkenne ich bei meinem C# Programm die WebCam auf folgende Art und Weise:

    Code:
    #region Webcam
    
            //Unser Webcam Objekt
            VideoCaptureDevice videoSource;
    
            void InitWebCam(int nr)
            {
                //Auflistung aller Webcam/Videogeräte
                FilterInfoCollection videosources = new FilterInfoCollection(FilterCategory.VideoInputDevice);
    
                //Überprüfen, ob mindestens eine Webcam gefunden wurde
                if (videosources != null)
                {
                    //Die Webcam "nr" an unser Webcam Objekt binden
                    videoSource = new VideoCaptureDevice(videosources[nr].MonikerString);
    
                    try
                    {
                        //Überprüfen ob die Webcam Technische-Eigenschaften mitliefert
                        if (videoSource.VideoCapabilities.Length > 0)
                        {
                            string lowestSolution = "10000;0";
                            //Das Profil mit der niedrigsten Auflösung suchen
                            for (int i = 0; i < videoSource.VideoCapabilities.Length; i++)
                            {
                                if (videoSource.VideoCapabilities[i].FrameSize.Width < Convert.ToInt32(lowestSolution.Split(';')[0]))
                                    lowestSolution = videoSource.VideoCapabilities[i].FrameSize.Width.ToString() + ";" + i.ToString();
                            }
                            //Dem Webcam Objekt die niedrigstmögliche Auflösung übergeben
                            videoSource.DesiredFrameSize = videoSource.VideoCapabilities[Convert.ToInt32(lowestSolution.Split(';')[1])].FrameSize;
                        }
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show(e.ToString());
                    }
    
                    //Dem Webcam Objekt den NewFrame Eventhandler zuweisen.
                    //Dieser schlägt bei jedem eingehenden Bild der Webcam an
                    videoSource.NewFrame += new AForge.Video.NewFrameEventHandler(videoSource_NewFrame);
    
                    //Die Webcam aktivieren
                    videoSource.Start();
                }
            }
    
            void videoSource_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
            {
                //Jedes ankommende Bild von der Webcam der Picturebox zuweisen
                pictureBoxVideoSelf.BackgroundImage = (Image)eventArgs.Frame.Clone();
            }
    
            #endregion
    meine usings für dies sind:

    Code:
    using AForge.Video;
    using AForge.Video.DirectShow;
    Bei der Funkkamera habe ich dasselbe probiert. Ich bekommen aber leider nur das erste Bild der Kamera und dann einfach nichts mehr. Hätte jemand eine Idee woran das liegen könnte?
    Die Funkkameratreiber sind installiert. Habe schon einige andere Sachen auchsprobiert was mir google so an Beispielen gegeben hat und zum Teil sogar Bluescreens bekommen.

    MfG Berghuhn

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.09.2010
    Alter
    30
    Beiträge
    129
    So,
    Ich habe das Problem gelöst.
    Man muss die Funkkamera nicht wie eine Webcam, sondern wie eine TV-Karte "behandeln" dann funktioniert es.
    Ich arbeite jetzt noch etwas daran und poste dann mal meine Ergebnisse.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.09.2010
    Alter
    30
    Beiträge
    129
    Ich würde jetzt noch gerne 2 LED's als "Scheinwerfer" für die Kamera im dunkeln anschließen.
    Diese sollten aber nicht ständig leuchten also kann ich sie ja wohl nicht einfach an VCC und GND anschließen.
    Müsste ich zwingend einen Transistor verwenden oder kann man sie auch direkt an Ports anschließen? Wenn ja welche?
    PS: habe auch noch das M32 und eine Erweiterungsplatine zur verfügung.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist Avatar von RolfD
    Registriert seit
    07.02.2011
    Beiträge
    414
    Es geht vermutlich ohne aber mit bist du auf der sicherern Seite. Siehe Seite 285 im AVR-Datenblatt. Eine LED braucht normal etwa 20mA und die kann der AVR auch bei 5V schalten. Allerdings ist das schon "Oberkante Unterlippe". Da die LEDs als "Scheinwerfer" arbeiten wärs schon besser die über Transistoren zu schalten wo man Reserven hat und auch mal 25 oder 30 mA durchleiten kann, zumal der Prozessor max. 200 mA über alle Ports schaltet. Das erlaubt dir auch mit den Vorwiderständen zu spielen ohne das du um den Port fürchten musst. So kannst du auch 2 oder mehr LED über einen Port parallel schalten, es muss nur jede LED einen eigenen Vorwiderstand haben.
    Geändert von RolfD (30.04.2011 um 09:58 Uhr)
    Sind Sie auch ambivalent?

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.09.2010
    Alter
    30
    Beiträge
    129
    Ah ok.
    Ich würde es mal ohne Probieren und dann wenn ich in den nächsten Tagen wieder beim Elektroladen vorbeikomme 2 Transistoren besorgen.
    Wo genau müsste ich die 2 LED's einbauen auf der Grundplatine?

  7. #7
    Erfahrener Benutzer Roboter-Spezialist Avatar von RolfD
    Registriert seit
    07.02.2011
    Beiträge
    414
    Die Grundschaltung kannst Du dir aus dem Schaltplan rausgucken, da sind ja bereits LEDs verbaut. Wie man das mit einer Transistorstufe versieht, findet sich im Web z.B. da http://www.ledstyles.de/ftopic4494.html als serielle Konfiguration bzw. in Google mit "AVR Transistor LED", die Boardsuche streikt leider seid dem letzten Forenupdate bei Abkürzungen mit 3 Buchstaben. ggf. ist die Geschichte mit "Open Colector" und Pullup zu berücksichtigen - schöner ist natürlich wenn man die internen Pullups nicht braucht weil sie eine Last darstellen.
    So lassen sich die LEDs auch relativ stabil direkt an der Batterie oder einem eigenen Regler betreiben ohne das der AVR leidet und die LED Spannung erst durch den Boardregler muss. Die freien Lötfelder der Ecken auf dem RP6 Base reichen für solche Geschichten dicke aus.
    Geändert von RolfD (30.04.2011 um 10:22 Uhr)
    Sind Sie auch ambivalent?

Berechtigungen

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

Labornetzteil AliExpress