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相关库更新到最新版后,问题解决。

相关推荐
吃饭睡觉发paper42 分钟前
High precision single-photon object detection via deep neural networks,OE2024
人工智能·目标检测·计算机视觉
醉方休1 小时前
TensorFlow.js高级功能
javascript·人工智能·tensorflow
云宏信息1 小时前
赛迪顾问《2025中国虚拟化市场研究报告》解读丨虚拟化市场迈向“多元算力架构”,国产化与AI驱动成关键变量
网络·人工智能·ai·容器·性能优化·架构·云计算
红苕稀饭6661 小时前
VideoChat-Flash论文阅读
人工智能·深度学习·机器学习
周杰伦_Jay1 小时前
【图文详解】强化学习核心框架、数学基础、分类、应用场景
人工智能·科技·算法·机器学习·计算机视觉·分类·数据挖掘
黄啊码2 小时前
Coze新品实测:当AI开始像产品经理思考,我和程序员吵架的次数少了
人工智能·agent·coze
jie*2 小时前
小杰机器学习(six)——概率论——1.均匀分布2.正态分布3.数学期望4.方差5.标准差6.多维随机变量及其分布
人工智能·机器学习·概率论
挽安学长2 小时前
通过 gaccode在国内使用ClaudeCode,Windows、Mac 用户配置指南!
人工智能
Monkey的自我迭代2 小时前
背景建模(基于视频,超炫)项目实战!
opencv·计算机视觉·音视频
唐某人丶2 小时前
教你如何用 JS 实现 Agent 系统(3)—— 借鉴 Cursor 的设计模式实现深度搜索
前端·人工智能·aigc