Linux C语言实现YUYV拍照并转为JPEG格式
Linux 下的 C 语言操作 V4L2 摄像头挺有意思的,尤其是玩 YUYV 格式拍照再转 JPEG。你直接开/dev/video0,用ioctl设成 YUYV,mmap映射就能抓到数据。接下来用libjpeg转成 JPEG,写文件就完事儿。嗯,速度快,代码还不复杂。
YUYV 其实就是一种颜色编码,亮度+色度的组合。每 4 个字节存两个像素,Y 是亮度,U 和 V 是色差。听着抽象,其实多撸几次代码就熟了。
想要性能好,可以用pthread多线程,边抓边转,延迟低。用在监控、视频会议啥的都挺稳。
小提醒:记得做好内存管理,不然分分钟内存泄漏。还有不同的摄像头驱动差别挺大,调参数要耐心点。
延伸阅读你可以看看Linux 下 v4l2 视频捕获代码示例,直接上手会快多。
文件大小:53.79KB
评论区