2011-02-17 71 views
1

這是一個跟進我剛纔的問題,從攝像頭抓取的圖像與OpenCV的

OpenCV PS 3 Eye

有人建議可以出庫,讓我抓住從相機幀沒有太過計較(使用像視頻videoinput窗口的Windows)並將它們傳遞給我的應用程序中的opencv?

+1

你可能最好找出爲什麼openCV不能與你的網絡攝像頭一起工作 - 任何其他庫可能使用相同的V4L層 – 2011-02-17 18:56:47

+0

如果你讀我prev問題使用v4l的其他應用程序除了opencv。 – 2011-02-18 18:14:21

回答

5

我使用了完全不同的攝像頭有一個平行的問題:在奶酪的/ etc,v4l-info表現出適當的設置效果不錯,但OpenCV的將失敗:

HIGHGUI ERROR: V4L2: Pixel format of incoming image is unsupported by OpenCV Unable to stop the stream.: Bad file descriptor

經過多次揮舞我發現at least one guy有與各種應用中的網絡攝像頭類似的問題。

在盲目的信仰我迅速打export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so和« poof»它的工作。

openCV v4l2接口不像v4l實現那樣健壯,導出很快workaround(openCV似乎恢復爲v41)。

快速瀏覽opencv/modules/highgui/src/cap_v4l.cpp它看起來好像openCV想要使用v4l2。

我正在運行Ubuntu Lucid 2.6.32-28-generic x86_64,libv4l-0 v0.6.4-1ubuntu1與openCV從前幾天的回購HEAD中拉出。

在解釋這個過程中,我解決了我的問題。事實證明,openCV默認情況下會將v4l2設備的分辨率強制爲640x480,而我的設備最大分辨率爲320x240,因此在測試opencv::highgui::cap_v41::try_palette_v4l2中的格式類型時會導致故障。我更改了 DEFAULT_V4L_WIDTH DEFAULT_V4L_HEIGHT