2013-12-04 5 views
1

Я использую OpenCV питон привязки, чтобы собрать быстрый script/prototype, но по какой-то причине,Невозможно изменить высоту фрейма, ширину в OpenCV

camera.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 640.0) 

... ничего не делает вообще. Под этим я подразумеваю, что он возвращает True, но высота кадра постоянна. Нет, возврат константы не является ошибкой, так как camera.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT) вернет 240.0 в качестве значения по умолчанию.

У меня нет ни малейшего понятия о том, почему это происходит. Есть идеи?

Для чего это стоит, я запускаю этот код на windows 8.1.

ответ

1

Часто менять настройки камеры с помощью openCV часто невозможно.

Это зависит от того, насколько хорошо камера реализует интерфейс DirectShow от Microsoft. Поскольку DirectShow трудно понять, плохо документированы и трудно проверить и камеры дешево сделаны .....

+0

@grenadier вы можете изменить размер в любом утилите/зрителе, который пришел с камерой? Вам также может потребоваться выбрать другой формат изображения, если это USB-камера, и он не сможет отправить полную копию на полной скорости. –

+0

@MartinBeckett +1 Хороший ответ. Возможно, вы могли бы добавить ссылку на [этот ответ] (http://stackoverflow.com/q/14287/176769), если считаете это актуальным. – karlphillip

+0

@karlphillip - не знаю, соответствует ли этот ответ. Я отправил кучу исправлений в 2.4, чтобы позволить opencv устанавливать все параметры, если directshow фактически реализует его. –

1

Вы должны установить как WIDTH и ВЫСОТА, чтобы изменить разрешение камеры. Некоторые говорят, что изменение высоты автоматически регулирует ширину, но это не сработало для меня.

Просмотреть мою other answer по этой теме.

Смежные вопросы