Используя класс VideoCapture OpenCV, я могу записать 8-битные изображения с моей веб-камеры. Но, мне нужно больше значений для цвета. Поэтому мне, вероятно, понадобится 16-битное или 24-битное изображение. Как это сделать в OpenCV?Захват изображений с более высокой глубиной в OpenCV
ответ
Если ваш объект является канцелярским, вы можете создать более чистое изображение путем усреднения последовательных кадров. Может даже быть некоторая ценность в сохранении результата с большей глубиной бит, но не ожидайте чудес - 8-битная камера и 8-битный видеокодек никогда не дадут вам правильное 16-битное видео.
Например, вот кадр, захваченный веб-камерой в условиях низкой освещенности. Это довольно шумно:
И вот результат усреднения сотни последовательных кадров. Это лучше, но не идеально.
@squeamih ossifrage Что вы подразумеваете под усреднением сто консилиумов? его среднее значение, как получение консистентных кадров с веб-камеры, а не получение среднего количества этих 100 кадров или включение среднего алгоритма для улучшения изображения? – AHF
@Ahmad Получите сотню последовательных кадров и сравните их вместе. С одним кадром вы ничего не можете сделать, чтобы увеличить глубину пикселя. –
Я пробовал усреднение. Вокруг яркого источника света на моем изображении, все есть большой капля белых пикселей. Я хочу, чтобы иметь возможность квантовать цвета более тонким образом, чтобы получить все оттенки белого. –
Большинство веб-камер поддерживают только 8 бит на цветовой канал. Убедитесь, что ваша камера поддерживает более высокую глубину; и не используйте OpenCV для извлечения видео для этого случая. OpenCV преобразует все данные в 8-битные & 3 канала.
Используйте API-интерфейс производителя камеры (или стороннюю библиотеку, например, v4l), чтобы получить данные более высокой глубины и надавите на эти данные в IplImage или Mat вручную. Что-то вроде:
// allocate Mat data
Mat frame(640, 480, CV_16UC3);;
// populate
loop{
frame.at<Vec3b>(i,j) = ImageReturnedByCamera.at(i,j);
}
Но если мы используем камеру хорошего качества с opencv, она дает нам 8-битное изображение с низким качеством? – AHF
Я думаю, что opencv Класс видеозахвата имеет свойство для установки кодека (для поддерживаемых камер), но, как я знаю, вы должны написать кодек самостоятельно, так как библиотека имеет ограниченный интерфейс для высококачественных камер. Пример: uEye IDS https://code.google.com/p/low-cost-vision/source/browse/trunk/Vision/ueyeOpencv/include/UEyeOpenCV.hpp?r=260. Аналогичные проблемы: http://opencv-users.1802565.n2.nabble.com/Need-to-perform-16-bit-single-channel-video-capture-or-capture-raw-bin-data-td5411180.html , http://forum.mesa-imaging.ch/viewtopic.php?f=33&t=151 – baci
- 1. opencv - Сшивание более 2 изображений
- 2. Захват видео с OpenCV
- 3. Использование изображений с более высокой плотностью для нижних устройств разрешения
- 4. OpenCV - Найти угол для статического прямоугольника с искаженной глубиной
- 5. FB.Data.query с более высокой производительностью
- 6. Tbb-параллельная свертка изображений с разной глубиной
- 7. Сортировка списка списков с глубиной более 2
- 8. C# DataSet с глубиной более трех
- 9. Классификация изображений с opencv
- 10. Захват одиночной картинки с opencv
- 11. Захват веб-камеры OpenCV
- 12. захват h264 в буфер с помощью openCV
- 13. Захват видеокадров с opencv в android
- 14. OpenCV4Android - захват изображений в прямоугольниках (обнаружение лиц)
- 15. Отображение изображений с высокой частотой кадров
- 16. Сравнение изображений с помощью OpenCV или что-то более полезное
- 17. Захват изображений с камеры телефона?
- 18. Изменение FPS на захват видео из файла с opencv
- 19. Захват с Macbook Pro iSight с Opencv
- 20. OpenCV: Объединение двух изображений с использованием OpenCV
- 21. Как сделать сравнение изображений в openCV более грубым
- 22. Захват изображений в реальном времени с сетевой камеры
- 23. Нормализация изображений в OpenCV
- 24. альтернатива gnuplot с более высокой точностью времени
- 25. Количества решений с более высокой вероятностью
- 26. Обрезка изображений в opencv
- 27. Android opencv load grayscale png с глубиной 16 бит
- 28. Захват изображений видео в iOS
- 29. Наложение/слияние двух (и более) изображений YUV в OpenCV
- 30. Захват камеры OpenCV изнутри потока
Что именно вы подразумеваете под: «Но мне нужно больше значений для цвета»? Зачем вам нужно больше ценностей? Что значит «больше»? Каков возможный вариант использования? – Mailerdaimon
Вокруг яркого источника света на моем изображении, все есть большой капля белых пикселей. Я хочу, чтобы иметь возможность квантовать цвета более тонким способом, чтобы получить все оттенки белого –
@RajathS вы попробовали выравнивание гистограммы – baci