Bild von Webcam mit mehr als 640x480 Pixeln Auflösung in eine Anwendung einbauen



  • hi

    meine natürlich den usb treiber von ms.

    lowbyte



  • Habe WinXP



  • Auflösung jedenfalls ändert sich jetzt auch.
    Aber: wenn ich mir das Webcambild hole u. möchte danach die Bildauflösung ändern, dann geht das nur, wenn

    cvSetCaptureProperty(capture ,CV_CAP_PROP_FRAME_WIDTH , width);
        cvSetCaptureProperty(capture ,CV_CAP_PROP_FRAME_HEIGHT , height);
    

    NACH

    capture = cvCreateCameraCapture(deviceid);
    

    und VOR

    cvQueryFrame(capture)
    

    kommen muss.



  • Hi

    Was ist hierbei das Problem ?

    Gehe mal auf meine Security Page http://vpn23.homelinux.org (Befindet sich noch im aufbau !). Dort findest du glaube ich ganz unten ein kleines Objectdetector(Videoüberwachungs tool) das ich mal geschrieben habe. Schaue, versuche Dir vorzustellen wie ich das gemacht haben könnte. Ansonnsten kann ich Dir gerne über Email die Sources und meine libs dazu schicken.. wenn es dir ernst ist.

    Gruss lowbyte



  • Macht es Sinn, mit videoInput zu arbeiten als Treiber?



  • Hi

    Wie meinst du dass ?

    Dies ist doch auch eine Library !? Wie opencv !?

    lowbyte



  • Hi

    Opencv ist viel mächtiger !
    Aber das ist deine Sache.

    lowbyte



  • OK, Danke!
    Ich hatte immer nur im Internet Beispiele gelesen, bei denen opencv zusammen mit videoinput benutzt wurde. Leider stiftet auch diesbezügl. das Inet manchmal mehr Verwirrung, als dass es einen weiterbringt.
    Zudem steht in der highgui.h

    #define CV_CAP_DSHOW    700   // DirectShow (via videoInput)
    

    Das gab es in der 097-Version auch noch nicht.
    Die opencv 210 Version ist übrigens super!



  • Hi

    schrieb:

    Die opencv 210 Version ist übrigens super!
    

    Deswegen habe ich gesagt, du solltest die neuste Version zum laufen bringen. 😉
    Viel spass !

    lowbyte



  • HAllo,

    möchte die fps aus meinem capture auslesen mit

    int fps = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
    

    leider liefert mir das für fps immer 0.
    Woran kann das liegen?
    Ich brauche fps, um mit

    writer = cvCreateVideoWriter...
    

    die fps zu setzen, damit das Kameravideo als avi gespeichert werden kann.
    Nach

    capture = cvCreateCameraCapture(deviceid);
    

    setze ich übrigens NICHT mit cvSetCaptureProperty den Wert für fps, da opencv diesen Wert selbstständig anhand der möglichen fps (abhängig von der gewählten Auflösung) managen soll.



  • Hallo Williman,
    ich bin seit Tagen verzweifelt am Probieren, OpenCV2.X mit dem Borland C++ Builder 6 zum laufen zu bekommen.
    Das Konvertieren mit coff2omf oder implib hat immer nur zu neuen Fehlern geführt, sämtliche Workarounds haben nicht funktioniert..
    Würdest du mir deine openCV-Dateien und eventuelle patches senden?
    Ich bräuchte das dringend für ein Schulprojekt..

    Vielen Dank,
    Miguel

    williman schrieb:

    Habe opencv 2.1 endlich ohne Fehlermeldungen im Borland Builder6.
    Jedoch beendet sich meine Anwendung, sobald die Anweisung kommt:

    capture = cvCaptureFromCAM(deviceid);
    

    Dies geschieht mit deviceid = -1 oder 0
    Mit 1 kommt wenigstens ein leeres Fenster und die Anweisung

    cvQueryFrame(capture)
    

    liefert 0.

    ???


Anmelden zum Antworten