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

相关推荐
财迅通Ai19 分钟前
AI布局全面深化,赤子城科技上半年创新业务收入大幅增长41.2%
人工智能·科技·赤子城科技
冬奇Lab22 分钟前
Code Agent 解剖(11):Harness 设计之一——控制流
人工智能·开源
码视野31 分钟前
基于 Vue3 + Element Plus 的【智慧新能源汽车充电桩运维调度与分时共享租赁系统】设计与实现(附完整源码与PRD)
运维·人工智能·汽车·vue3
冬奇Lab35 分钟前
开源项目第198期:Omarchy — DHH 打造的「意见鲜明」Linux 桌面系统
人工智能·开源·操作系统
zww894911139 分钟前
AI智能商城APP定制开发实战:从需求到上线完整指南
大数据·人工智能
wangjialelele43 分钟前
RAG 检索增强生成全面解析:从知识库构建到检索、重排序与生成优化
人工智能·ai·agent·rag·检索增强生成
从零开始学习人工智能1 小时前
Labelme AI-Points 功能背后的ONNX模型:下载、配置与使用解析
人工智能
招财小梗1 小时前
沈阳商贸公司AI企业服务优势几何?
大数据·人工智能·python
ZKKLLY1 小时前
生成式引擎优化赛道崛起,优质GEO服务商该如何筛选评估
大数据·人工智能
IT古董2 小时前
FDE(Forward Deployed Engineer)详解:AI时代正在崛起的新型工程师
大数据·人工智能·数据挖掘