Я использую OpenCV 2.4.6 как с C++, так и с Python на Kubuntu 12.04. С веб-камерой Logitech Quick Cam Pro 3000 мне удалось установить размер рамки, но VideoCapture::set()
всегда возвращает false.OpenCV VideoCapture :: set() возвращает 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 или libs V4L, V4L2 ??? или моя веб-камера). Если это так, я всегда могу проверить свою попытку, выполнив get()
после set()
. Но если что-то не так, я хотел бы это знать.
Смотрите документ: Doc for VideoCapture::set(), OpenCV 2.4.6
Спасибо!
Вы используете багажник или стабильный выпуск ..? – scap3y
Я использую стабилизатор 2.4.6 ... –