Возможно, я ошибаюсь, но не могу найти способ (функция чтения), чтобы изменить свойства камеры в новом Open CV. Мне нужно отключить автообновление и автообновление камеры.
Возможно ли это?Настройка свойств камеры в новом OCV 2.4.3
ответ
Это старый вопрос, но я хочу добавить к нему решение.
opencv вызывает базовые методы v4l для запроса кадров, установки/получения свойств камеры и т. Д. И проблема в том, что вызовы не завершены. Также по какой-то причине библиотека вызывает v4l-методы вместо v4l2. Аналогичная проблема here. Кажется, он решается путем модификации кода opencv.
Я также проверил, может ли opencv установить свойство, поддерживаемое в «v4l2», например «ручной экспозиции» или «автоприоритет экспозиции». Это не могло. Я играл вокруг v4l2, чтобы решить эту проблему:
#include <libv4l2.h>
#include <linux/videodev2.h>
#include <sys/ioctl.h>
#include <fcntl.h>
// open capture
int descriptor = v4l2_open("/dev/video0", O_RDWR);
// manual exposure control
v4l2_control c;
c.id = V4L2_CID_EXPOSURE_AUTO;
c.value = V4L2_EXPOSURE_MANUAL;
if(v4l2_ioctl(descriptor, VIDIOC_S_CTRL, &c) == 0)
cout << "success";
// auto priority control
c.id = V4L2_CID_EXPOSURE_AUTO_PRIORITY;
c.value = 0;
if(v4l2_ioctl(descriptor, VIDIOC_S_CTRL, &c) == 0)
cout << "success";
Затем вы можете работать с opencv.
Полный список элементов управления камерой - here.
так, есть ваш VideoCapture:
VideoCapture cap(0);
теперь вы можете попробовать установить или получить свойства:
//may work or not, highly driver/impl specific.
cap.set(CV_CAP_PROP_AUTO_EXPOSURE, 0);
double exposure = cap.get(CV_CAP_PROP_AUTO_EXPOSURE);
иногда вы даже можете Acces драйверов таким образом CONFIG диалог:
cap.set(CV_CAP_PROP_SETTINGS , 1);
Эти константы находятся в highgui_c.h, вокруг l 333
Таким образом, если функция не возвращает никаких ошибок, но dosn't работу, это значит операция не поддерживается на веб-камеры? Есть ли какое-то возвращаемое значение, чем может сообщить мне, что операция не удалась? –
это, вероятно, просто не реализовано. и, к сожалению, никоим образом не выяснять, кроме «сработанных» или нет. но, поскольку эти настройки хранятся в драйвере в большинстве случаев, вы можете попытаться использовать другие программы для доступа к своей кулачке (vlc !!) и попытаться установить ее там – berak
У меня также возникла идея использовать другие приложения для настройки камеры , но я делаю программу для компании, которая не хочет использовать стороннее (загруженное) программное обеспечение. Поэтому мое приложение должно интегрировать все функции. –
Вы можете использовать API OpenCV для этого, используя VideoCapture::Set(). Вот пример того, как установить экспозицию вручную в Python:
import cv2
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_EXPOSURE,-4)
while(True):
ret, frame = cap.read()
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Вот ноты у меня о времени экспозиции для каждого кадра. Хотя я считаю, что они специфичны для камеры, они дают вам хорошую идею.
-1 640 ms -2 320 ms -3 160 ms -4 80 ms -5 40 ms -6 20 ms -7 10 ms -8 5 ms -9 2.5 ms -10 1.25 ms -11 650 µs -12 312 µs -13 150 µs
У этой функции есть настройки для GAIN и многих других значений, хотя я их не пробовал.
Немного более подробное обсуждение в
Setting Manual Exposure in OpenCV
- 1. Настройка свойств веб-камеры
- 2. Настройка свойств камеры для глаз ps3 - ubuntu
- 3. Настройка камеры в OpenGL
- 4. Настройка свойств
- 5. Диалог свойств камеры OpenCV
- 6. Настройка камеры sencha touch
- 7. Настройка камеры Просмотр в UIImagePickerController
- 8. Настройка наложения камеры
- 9. Direcx 9 Настройка камеры
- 10. Настройка камеры OpenGL
- 11. Настройка камеры Вращение
- 12. Настройка Github на новом компьютере
- 13. Настройка свойств полей в коде
- 14. Настройка свойств CSS в GWT
- 15. Настройка свойств привязки в шаблоне
- 16. Настройка свойств объектов в NSMutableArray
- 17. Настройка свойств пользователя в Camel
- 18. Настройка свойств объектов в datacontext
- 19. Настройка свойств класса в цикле
- 20. Настройка свойств в запущенной сборке
- 21. Настройка свойств объекта
- 22. Настройка свойств UIITabBar?
- 23. Настройка свойств панельных объектов
- 24. Настройка свойств Classpath Netbeans
- 25. Настройка свойств текстового поля?
- 26. Настройка свойств человека
- 27. Настройка взаимозависимых свойств
- 28. Настройка свойств родительского прототипа
- 29. Настройка свойств slf4j
- 30. Archiva: Настройка свойств метаданных
просто любопытно, эти настройки устойчивы? – berak
Да, пока вы не перезагрузите компьютер или не подключите веб-камеру – baci
ah, ok. Спасибо за разъяснения. – berak