社区
其他硬件开发
帖子详情
关于摄像头采集的MJPEG格式(LInux,V4l2)
usafchn
2012-04-10 04:44:53
做一个项目,需要用v4l2采集摄像头图像。采集格式是V4L2_PIX_FMT_MJPEG,摄像头是罗技C270。
现在我已经可以得到每一帧的数据。
按理说MJPEG每一帧都是按照jpg格式的,但是它每一帧中没有定义huffman表,又不能完全按jpg的方式处理。现在的问题是如何把这批不含huffman表的jpg图像显示出来?
谢谢各位
...全文
7271
12
打赏
收藏
关于摄像头采集的MJPEG格式(LInux,V4l2)
做一个项目,需要用v4l2采集摄像头图像。采集格式是V4L2_PIX_FMT_MJPEG,摄像头是罗技C270。 现在我已经可以得到每一帧的数据。 按理说MJPEG每一帧都是按照jpg格式的,但是它每一帧中没有定义huffman表,又不能完全按jpg的方式处理。现在的问题是如何把这批不含huffman表的jpg图像显示出来? 谢谢各位
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GavinLx
2014-09-07
打赏
举报
回复
我去,太有才了4楼
Aizen_android
2014-03-24
打赏
举报
回复
4楼思路正是解题关键!!
lang0728
2013-09-04
打赏
举报
回复
学习了,期待更多好文章
jacloven
2013-06-12
打赏
举报
回复
1
4楼正解。在v4l2读出的帧中找到SOF0(Start Of Frame 0),插入个huffman表就可以用libjpeg解码成rgb。可以参考mjpg-streamer中input_uvc目录下的代码,或者我刚调试好的 :https://github.com/joeshang/joycar/blob/master/module/v4l2_camera/decoder_mjpeg.c
shan1021
2013-05-25
打赏
举报
回复
请问 是android2.3还是 4.0
usafchn
2013-04-17
打赏
举报
回复
引用 6 楼 hsg1040175759 的回复:
请问楼主,yuyv格式视频可以存储bmp或者jpg格式的图片么?
可以啊。。
秋实_hsg1040175759
2013-03-15
打赏
举报
回复
请问楼主,yuyv格式视频可以存储bmp或者jpg格式的图片么?
superdonlee
2013-01-16
打赏
举报
回复
楼主有解决办法了吗
dwdali
2012-05-20
打赏
举报
回复
自己塞一个标准huffman table就行了
usafchn
2012-05-15
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
请问楼主最后怎么解决的 我现在也是摄像头读取的帧格式为MJPEG的,我先读出来然后解码,再显示出来,可就是在
bool VideoDevice::start_capturing()
{
unsigned int i;
for(i = 0; i < n_buffers; ++i)
{
v4l2_buffer buf;
CLEA……
[/Quote]
我没有解决,时间有限,我换成了YUYV格式,那个网上资料很多。
这方面我不是很懂…
yingao163
2012-05-11
打赏
举报
回复
请问楼主最后怎么解决的 我现在也是摄像头读取的帧格式为MJPEG的,我先读出来然后解码,再显示出来,可就是在
bool VideoDevice::start_capturing()
{
unsigned int i;
for(i = 0; i < n_buffers; ++i)
{
v4l2_buffer buf;
CLEAR(buf);
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory =V4L2_MEMORY_MMAP;
buf.index = i;
// 放入缓存队列
if(-1 == ioctl(fd, VIDIOC_QBUF, &buf))
{
qDebug()<<tr("VIDIOC_QBUF: %1").arg(QString(strerror(errno)));
return false;
}
}
v4l2_buf_type type;
CLEAR(type);
type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
if(-1 == ioctl(fd, VIDIOC_STREAMON, &type))
{
qDebug()<<tr("VIDIOC_STREAMON: %1").arg(QString(strerror(errno)));
return false;
}
return true;
}
出现了这个错误 现在不知道怎么办了 网上资料也不多 没头绪
"VIDIOC_STREAMON: Broken pipe"
v4l2
采集
MJPG保存到本地
参考博客地址:http://blog.csdn.net/fendoubasaonian 环境: 1、一个支持MJPG
格式
的usb
摄像头
2、支持
V4L2
的
linux
环境 实现: 1、从
摄像头
读取一帧MJPG图片 2、将MJPG图片保存到本地
使用
Linux
的
V4L2
读取
摄像头
数据+Opencv图像处理
使用原始的RGB数据构造Opencv中的Mat对象。该资源使用
Linux
系统中的
V4L2
接口读取
摄像头
M
JPEG
图像数据,解码成RGB数据,再转换为Opencv中的Mat对象所使用的BGR
格式
基于QT的
V4L2
摄像头
视频
采集
并显示
基于QT开发的
V4L2
摄像头
视频
采集
,并使用QLable实现
摄像头
图像的刷新显示。
v4l2
QT M
JPEG
格式
视频
采集
+屏幕显示+图片保存
v4l2
QT M
JPEG
格式
视频
采集
+屏幕显示+图片保存
linux
下QT通过
v4l2
的方式
采集
摄像头
并显示到界面上
linux
下的qt通过
v4l2
方式
采集
摄像头
数据并且显示,初学者可以学习一下。
linux
下的qt通过
v4l2
方式
采集
摄像头
数据并且显示,初学者可以学习一下。
其他硬件开发
2,432
社区成员
4,281
社区内容
发帖
与我相关
我的任务
其他硬件开发
硬件/嵌入开发 其他硬件开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 其他硬件开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章