opencv无法设置禁用RGB转换问题

树莓派连接摄像头,摄像头输出格式为YUYV(YUV422)。

通过执行 v4l2-ctl --list-formats --device=/dev/video0 可以看的具体的摄像头的数据格式。

使用opencv获取视频流,通过cap.set(cv2.CAP_PROP_CONVERT_RGB, 0)设置禁用自动转换RGB格式,但是打印输出的数据依旧是RGB。

设置

cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('Y', 'U', 'Y', 'V')) # 设置摄像头为 YUYV

依旧输出的还是RGB,

复制代码
cap = cv2.VideoCapture(0,cv2.CAP_V4L)
cap.set(cv2.CAP_PROP_CONVERT_RGB, 0)  # 去除默认的RGB转换
cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc('Y', 'U', 'Y', 'V'))  # 设置摄像头为 YUYV

width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)

经过仔细检查发现,执行cap.set(cv2.CAP_PROP_CONVERT_RGB, 0)的时候会报警

WARN:0@2.647 global ./modules/videoio/src/cap_gstreamer.cpp (1716) setProperty OpenCV | GStreamer warning: GStreamer: unhandled property

报警导致此指令执行失败,会自动将yuv数据转换为rgb。

解决方法:

执行sudo apt-get install gstreamer1.0* ,将gstreamer相关库更新到最新版后,问题解决。

相关推荐
番茄不是西红柿kk11 分钟前
AtomGit CodingPlan限时免费、限量 500 人/天
人工智能
深圳市益普科技有限公司16 分钟前
SMT 产线 MES 怎么管“钢网、刮刀、feeder”这些易耗辅料:防错与寿命追踪
人工智能
科研小牛马21 分钟前
北航何静:DeepSeek Harness,部署操作教程
人工智能
朝阳资本论23 分钟前
机器人的智能短板,大晓世界模型补齐
人工智能
YFJ_mily24 分钟前
9.24早鸟通道即将关闭|IMRA2026智能制造机器人自动化IEEE会议|往届EI稳定检索,设有学生专属投稿权益
人工智能·机器学习·机器人·自动化·智能制造·rdlink研发家·马鞍山会议
陌シ未央ゞ31 分钟前
基于BM25算法和RRF实现的混合索引(java版)
人工智能·spring boot·后端·算法
jsl_jsl_jsl32 分钟前
《Skill 与定时任务:让 Agent 在没人说话时也能干活》
人工智能
事界见闻33 分钟前
网页版AI 3D工具通常能完成哪些基础工作?生成、处理与导出流程对比
人工智能·3d
renhongxia135 分钟前
数字孪生不止在工厂:能源、医疗与农业
人工智能·深度学习·算法·机器学习·数字孪生
济南凡维44 分钟前
CODESOFT中如何将标签保存为PDF文件
网络·人工智能·打印机·codesoft