Hilfe beim framegrabbing von webcam



  • Hi,
    ich möchte von meinem c++ programm meiner webcam sagen das sie ein bild machen soll. wie kann man sowas realisieren? Ich benutze OpenSuse. Kann aber im notfall auch auf windoof arbeiten.

    Ich habe ein Program für Windows gefunden was sowas in der art macht wie ich haben möchte. Leider Versteh ich es nicht wirklich und es ist für windoof. Auf www.allanpetersen.com in der Rubrik Programming ist ein webcam projekt. Mein Programm brauch nichtmal die anzeige ich möchte nur an bestimmten stellen im programm ein Bild machen und die informationen im Bild auswerten.

    Ich benutze auch nur die grauwerte des Bildes. Bisher habe ich einfach mal mit nen paar einfachen Bildern das Einlesen und das Umwandeln in Grauwerte Realisiert mit der boost library habe ich matrizen eigebunden und qimage übernimmt mir das einlesen der bmp files.

    char* fname="/home/user/somepic.bmp"
        QImage image = QImage();
        QString filename = QString( fname );
        image.load( fname, 0 );
        int imageheight=image.height();//height of the image
        int imagewidth=image.width();//width of the image
        cout<<fname<<endl;
        cout<<imageheight<<"x"<<imagewidth<<endl;
        //boost::numeric::ublas::matrix<QRgb> farbwert(imageheight,imagewidth);
        boost::numeric::ublas::matrix<unsigned int> grauwert(imageheight,imagewidth);//matrix containing the greyvalue of each pixel(0-255
        for(int c=0;c<imageheight;c++)
        {
            for(int r=0;r<imagewidth;r++)
            {
            //farbwert(c,r)=image.pixel(c,r);
            grauwert(c,r)=(qRed(image.pixel(c,r))+qGreen(image.pixel(c,r))+qBlue(image.pixel(c,r)))/3;
            }
        }
    

    im ende soll mein hauptprogram ungefähr so aussehen(ist natürlich kein code:
    while 1:
    {
    takepic();
    getinfosfrompic();
    useinfos();
    }

    Ich bin übrigens ein Neuling 😕 in der Programmierung und in c++. Bibliotheken ohne vernünftige Erklärung /Tutorials/und oder Beispiele helfen mir leider meistens nicht.
    Vielen dank für eure hilfe.

    ps: ich wäre nicht böse wenn ich nicht den umweg über die Festplatte nehmen müsste um die Bilder zu speichern. Es wäre zwar schön alles nur über den RAM laufen zu lassen muss aber nicht unbedingt sein. Nur wenn es einfach zu realisieren ist. :p



  • schau dir doch mal die opencv bibliothek an http://de.wikipedia.org/wiki/OpenCV die kann vermutlich alles was du brauchst und noch viel viel mehr in der doc oder den beiliegenden tutorials findest du auch wie man frames von der webcam grabbt bin grade zu faul zu suchen 🙂 ist aber nicht schwer und geht auf jedenfall in linux und windows



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten