Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/11/2020, à 03:47

Q7frkz

Webcam / Carte d'acquisition / opencv / C++

Bonjour à vous !

Je viens d'acheter ca : https://www.amazon.fr/gp/product/B08CGV … UTF8&psc=1
Je possède une gopro3 et je voulais m'en faire une webcam (pour coder mon dernier plaisir, une reconnaissance faciale).

J'ai donc gopro3 => cable microhdimi vers hdmi => hdmi vers usb3 (mon achat ci dessus) => mon pc.

Sur windows aucun soucis, l'application "Camera" (installée de base) détecte tout de suite cette nouvelle "Webcam" sans le moindre soucis, sans aucune installation aussi.

Sous Ubuntu, les sites de test de webcam (écrire test webcam sur le net vous les trouverez) ou mon programme basique ne fonctionnent pas :

#include <iostream>
#include <opencv4/opencv2/opencv.hpp>
#include <opencv4/opencv2/videoio.hpp>

using namespace cv;

int main() {
    VideoCapture vid(0);
    if (!vid.isOpened()) {...}

    Mat frame;
    for(;;) {
        vid >> frame; // get a new frame from camera
        imshow("edges", frame);
        if (waitKey(30) >= 0) break;
    }
    vid.release(); destroyAllWindows(); return 0;
}

Ce code ouvre un bien une fenêtre de la bonne taille (1920*1080), mais l'image est noire avec un message d'erreur de type :

[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (935) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1

Il m'est arrivé qqch d'un peu spécial, j'ai passé ma caméra de mes usb3 en facade vers mes usb3 à l'arrière de mon pc et mon code a fonctionné avec une latence de dingue (1 seconde environ) et environ 3 fps .... ca a marché une fois mais j'ai jamais réussi à le refaire marcher.

J'en ai profité pour testé sur mon PC portable, pareil une fenêtre noire et pas de mesage d'erreur pour le coup sur le pc portable.
Petit détail, quand je branche je vois apparaitre mes /dev/video0 et /dev/video1 (sur le fixe), video3 et video4 (sur le portable qui a une camera intégrée).

Je sais plus quoi faire, dites moi n'importe quoi que j'essaye, ca me soule, j'étais plein de motivation dans mon code (détection de visage en temps reel puis reconnaissance faciale) mais je voulais une caméra de meilleurs qualité que ma webcam (du portable) et ca me coupe complètement dans cette envie de créer ^^

J'ai besoin de vos lumières !!!!

Merci d'avance car en général vous avez les réponses à mes soucis !

Cordialement

-----------------------------------------------------------------------------------------------------------------------------------------
EDIT: Donc je bidouille je remplace

VideoCapture vid(0);

par

VideoCapture vid("/dev/video0");

mon message d'erreur dorénavant:

/home/q7frkz/CLionProjects/Cam/cmake-build-debug/Cam
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (1758) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module source reported: Could not read from resource.
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (888) open OpenCV | GStreamer warning: unable to start pipeline
[ WARN:0] global ../modules/videoio/src/cap_gstreamer.cpp (480) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created

Sans autre ligne, l'image semble être d'une qualité à peu pr égale à 600*800, par contre très fluide, légère latence de 2/10 de seconde je dirais (pas un soucis pour ce que je veux faire);
Ensuite je force la définition vers 1920*1080, et là, latence de 1 seconde et 3fps à peu près

que se passe-t-il !!!!!!!! je ne sais pas !!!!! aidez moi !!!!!

Cordialement

Dernière modification par Q7frkz (Le 21/11/2020, à 04:05)

Hors ligne

#2 Le 21/11/2020, à 08:16

NicoApi73

Re : Webcam / Carte d'acquisition / opencv / C++

Bonjour,

Essaie avec un port USB2 : ça vient peut être de la gestion des ports USB3.

D'autres parts, regarde Qt, il y a un ensemble de classes qui pourraient te simplifier la vie.

J'ai vu ton autre sujet relatif à Qt, pour lequel je n'ai pas de réponse.

Hors ligne

#3 Le 21/11/2020, à 14:25

Q7frkz

Re : Webcam / Carte d'acquisition / opencv / C++

J'ai excatement la même chose en USB2, à croire en effet qu'il ne fait pas la différence, je vais fouiller de ce coté là.

EDIT: je viens d'installer un programme qui s'appelle "guvcview" et celui-ci me sort une image parfaite limitée à 30fps par contre de ma gopro, donc le systeme Ubuntu le gère maintenant dnas le code je sais pas là où ca déconne. Surement faut-il un peu de config mais je ne toruve rien sur le net.

Dernière modification par Q7frkz (Le 21/11/2020, à 19:59)

Hors ligne