关于摄像头获取数据的问题

关于摄像头获取数据的问题

老师,您好!

在 libjpg 库的使用实例中,摄像头打开都是正常的(硬件的指示灯常亮),但是在 IO 多路复用那一块,获取摄像头数据总是超时,时间已经设置的很长了,从1s、10s、500s都一样,摄像头数据就是进不来,没有准备就绪的状态,但是一敲回车就可以了,但拍出来的照片是一张黑色的。

摄像头是 Mac 本自带的,虚拟机是PD19。

谢谢老师!
图片描述

正在回答

登陆购买课程后可参与讨论,去登陆

1回答
1.先用老师的代码跑一下,确定mac下的环境都装是好的,看看有没有兼容性的问题;
2.课程里面先是获取的yuv的数据,然后再把yuv转换成jpg的,如果jpg为黑色的那就可以看一下yuv数据是不是全部为00,通过打印或者断点的方式看一下前5个像素的YUV值;
3.有的摄像头是需要10秒~20秒才能启动初始化完成采集图像的,可以加个超时自动循环,直到拿到一次图像跳出循环。
4.排查一下是不是获取缓冲区编号搞错了,数据在缓冲区1,你操作到缓冲区0去了;
  • 慕斯卡5526745 提问者 #1

    谢谢山行老师,问题解决了,环境OK、硬件OK、问题出在代码中一句指针赋值语句,是在最后捕获图像成功后,写数据的时候,行指针使用错误,具体是用的临时 ptr 指针,因为每次用完都会 ptr 移动,导致实际写入的数据是在原 line_buf 的尾部开始的数据。C语言指针这一块很容易存在潜在的 BUG,以后千万注意!


    2024-04-06 11:15:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师