OpenCV (via python) sous Linux: définir la largeur / hauteur du cadre?
Je suis en utilisant openCV via python sous linux (ubuntu 12.04), et j'ai un logitech c920 à partir de laquelle je voudrais saisir des images. Le fromage est capable d'acquérir des images à très haute résolutions, mais à chaque fois que j'essaie d'utiliser openCV, je ne reçois 640 x 480 images. J'ai essayé:
import cv
cam = cv.CaptureFromCAM(-1)
cv.SetCaptureProperty(cam,cv.CV_CAP_PROP_FRAME_WIDTH,1920)
cv.SetCaptureProperty(cam,cv.CV_CAP_PROP_FRAME_WIDTH,1080)
mais cela donne de la sortie à "0" après chacune des deux dernières lignes, et quand j'ai par la suite de saisir une image via:
image = cv.QueryFrame(cam)
L'image qui en résulte est encore 640x480.
J'ai essayé d'installer ce qui semblait être des outils liés à la via (en dehors de python):
sudo apt-get install libv4l-dev v4l-utils qv4l2 v4l2ucp
et je ne peux en effet apparemment manipuler les paramètres de la caméra (encore une fois, à l'extérieur de python) via:
v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=1
v4l2-ctl --set-parm=30
et d'observer que:
v4l2-ctl -V
en effet suggère que quelque chose a été changé:
Format Video Capture:
Width/Height : 1920/1080
Pixel Format : 'H264'
Field : None
Bytes per Line : 3840
Size Image : 4147200
Colorspace : sRGB
Mais quand je pop dans l'interface python, le code ci-dessus se comporte exactement de la même façon qu'avant (l'impression de zéros lorsque vous tentez de définir les propriétés et l'obtention d'une image de 640 x 480).
Être en mesure de remonter la résolution de la capture est assez essentiel pour moi, alors je serais grandement apprécier tous les pointeurs quelqu'un peut fournir.
source d'informationauteur Mike Lawrence
Vous devez vous connecter pour publier un commentaire.
De les docs,
J'ai eu le même problème que vous. Fini par aller dans le OpenCV source et de changer les paramètres par défaut de
modules/highgui/src/cap_v4l.cpp
les lignes 245-246 et la reconstruction du projet.C'est pour OpenCV 2.4.8
Il semble être variable par cammera.
AFIK, les caméras Logitech ont particulièrement mauvaise prise en charge de linux (même si C';s devenus de plus) la Plupart de leurs problèmes avec des fonctionnalités avancées comme le contrôle de focus. je vous conseille de coller à base de caméras (c'est à dire de mise au point manuelle caméras Logitech) juste pour jouer en toute sécurité.
Mon intégré dans un ordinateur portable appareil photo n'a pas de problème et s'affiche en résolution normale.
Mon externes logitech pro a des problèmes initalizing.
Cependant, je peux surmonter le problème de résolution avec ces deux lignes.
Oui, ils sont les mêmes que vous avez utilisé.
Mon Logitech envoie toujours des erreurs, mais la résolution est fine.
Assurez-vous que la résolution que vous définissez est pris en charge par votre appareil photo ou v4l va hurler à vous. Si j'ai mis une non prise en charge de la résolution native, j'ai zéro succès.
Ne sais pas si il fonctionne, mais vous pouvez essayer de forcer les paramètres de vos valeurs après l'instanciation de la caméra de l'objet:
C'est très orthodoxe, alors attendez-vous à un crash.
width =1280,hauteur = 720