LINUX.ORG.RU

Захват с камеры картинки(быстро) В РГБ.

 , захват изображения,


0

1

Не могу понять что я делаю не так.Задача - получить изображение с камеры в формате RGB. В инете примеры сохранения картинки в jpg. А мне нужен просто массив пикселей. (Я пробовал использовать v4l2) Хотелось бы именно этим(так как вроде быстрый, и без лишнего)


Дело в том, что тут НЕ техподдержка. В следующий раз хотя бы опиши, что ты делал и приведи пример того, что получилось.

Всего хорошего.

ziemin ★★
()

как костыль могу предложить изменить формат из jpg в bmp, после убирания заголовков у тебя будет массив с пикселями.

// а пример кода ну никак нее помешает.

rikardoac
()
Ответ на: комментарий от ziemin

Да ничего. Я не понимаю что мне нужно сделать.

Нашел какой то код, когда запускаю на камере зажигается огонек. Попробовал использовать функцию которая сохраняет участок памяти (буфер) в файл. Потом открыл этот файл на Qt и попробовал нарисовать вот так

for(int j=0; j<480; j++){ for (int i = 0; i < 640; i++){ stream >> rr; stream >> gg; stream >> bb; p.setPen(QColor(rr,gg,bb)); p.drawPoint(i,j); } }

Рисует все черным

knotri
() автор топика

Какая у вас ОС, камера, какие программы используете?

anonymous
()

xubuntu,logitech, Я свою хочу написать. Нужно получать картинки быстро ( как видео.) Обрабатывать каждый кадр, без сохранения.

knotri
() автор топика

http://www.twam.info/wp-content/uploads/2009/04/v4l2grab.c

там есть функция jpegWrite она получает в качестве параметра массив с пикселами. вычисли, где она вызывается и посмотри как все сделано. копи-паст, одним словом.

rikardoac
()
Ответ на: комментарий от knotri

Я свою хочу написать. Нужно получать картинки быстро ( как видео.) Обрабатывать каждый кадр, без сохранения.

см. motion, оно прямо работает с v4l. Камеры обычно не умеют отдавать картинки в rgb

mashina ★★★★★
()

Что-то я не понял, в чем проблема: ты не можешь выкинуть кусок, который из последовательности байтов строка за строкой формирует жопег? O_o

Лови мой древний велосипед. При помощи v4l2 делается захват кадра с камеры, а потом — всякая его обработка.

Anon
()

камеры, которые я встречал (встроенные в ноутбуки), выдают кадр только в YUY формате, так что тебе придётся его конвертить в RGB вручную, либо использовать какую-нибудь библиотеку вроде libyuv

Harald ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.