Linux(ubuntu 12.04)でpython経由でopenCVを使用しています。画像を取得したいlogitech c920があります。Cheese は非常に高い解像度までフレームを取得できますが、openCV を使用しようとすると、640x480 の画像しか取得できません。私が試してみました:
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)
しかし、これは最後の2行のそれぞれの後に「0」の出力を生成し、その後次の方法でフレームを取得すると:
image = cv.QueryFrame(cam)
結果の画像はまだ 640x480 です。
関連するツールと思われるものを(Pythonの外部で)インストールしようとしました:
sudo apt-get install libv4l-dev v4l-utils qv4l2 v4l2ucp
実際、次の方法でカメラの設定を操作できるようです (これも Python の外部で)。
v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=1
v4l2-ctl --set-parm=30
そして、次のことを観察します。
v4l2-ctl -V
実際、何かが変更されたことを示唆しています:
Format Video Capture:
Width/Height : 1920/1080
Pixel Format : 'H264'
Field : None
Bytes per Line : 3840
Size Image : 4147200
Colorspace : sRGB
しかし、Python シェルにポップすると、上記のコードは以前とまったく同じように動作します (プロパティを設定しようとするとゼロが出力され、640x480 の画像が取得されます)。
キャプチャの解像度を上げることができることは、私にとって非常にミッションクリティカルであるため、誰かが提供できるポインタがあれば大歓迎です.