我使用的OpenCV 2.4.6與C++和Python的上的Kubuntu 12.04。隨着羅技快的CAM Pro的3000網絡攝像頭,我成功設置幀大小,但VideoCapture::set()
總是返回假。OpenCV的VideoCapture ::集()返回false但成功
// C++
VideoCapture lCap(0);
cout << lCap.get(CV_CAP_PROP_FRAME_WIDTH) << endl;
cout << lCap.get(CV_CAP_PROP_FRAME_HEIGHT) << endl;
cout << boolalpha << lCap.set(CV_CAP_PROP_FRAME_WIDTH, 320) << endl;
cout << boolalpha << lCap.set(CV_CAP_PROP_FRAME_HEIGHT, 240) << endl;
cout << lCap.get(CV_CAP_PROP_FRAME_WIDTH) << endl;
cout << lCap.get(CV_CAP_PROP_FRAME_HEIGHT) << endl;
給出:
640
480
false
false
320
240
和
# Python 2.7
Cap = cv2.VideoCapture(0)
print(Cap.get(CV_CAP_PROP_FRAME_WIDTH))
print(Cap.get(CV_CAP_PROP_FRAME_HEIGHT))
print(Cap.set(CV_CAP_PROP_FRAME_WIDTH, 320))
print(Cap.set(CV_CAP_PROP_FRAME_HEIGHT, 240))
print(Cap.get(CV_CAP_PROP_FRAME_WIDTH))
print(Cap.get(CV_CAP_PROP_FRAME_HEIGHT))
也給出了同樣的事情。
所以我想知道這是正常行爲(無論是OpenCV的或庫V4L,V4L2 ???還是我的攝像頭)。如果是這樣,我總是可以在set()
之後通過執行get()
來檢查我的嘗試。但如果有什麼不對,我想知道它。
看到該文檔:Doc for VideoCapture::set(), OpenCV 2.4.6
謝謝!
您使用的行李箱或穩定版本..? – scap3y
我使用穩定的2.4.6 ... –