OpenCV读取摄像头窗口变大且很卡的解决方法

视频讲解

OpenCV读取摄像头窗口变大且很卡的解决方法

测试过程

读取摄像头窗口变大且很卡的代码

复制代码
import cv2
cap = cv2.VideoCapture(0)
if not cap.isOpened():
    print("Cannot open camera")
    exit()
while True:
    ret, frame = cap.read()
    if not ret:
        print("no stream!")
        break
    cv2.imshow('frame', frame)
    if cv2.waitKey(1) == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

运行后,读取摄像头的窗口很大,而且很卡,出现如下的提示

复制代码
python3 test-camera.py
[ WARN:0@0.986] global /home/jetson/Downloads/opencv-4.5.5/modules/videoio/src/cap_gstreamer.cpp (1405) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1
Gtk-Message: 21:12:47.677: Failed to load module "canberra-gtk-module"

安装libcanberra-gtk-module

复制代码
sudo apt-get install libcanberra-gtk-module

继续运行,还是很卡,WARN还在,修改代码如下,增加cv2.CAP_V4L2

v4l2(video for linux two)是Linux中内核提供给应用层访问音视频驱动的统一接口。v4l2中获取摄像头的能力的是通过ioctl函数的VIDIOC_QUERYCAP命令获取。

复制代码
import cv2
cap = cv2.VideoCapture(0, cv2.CAP_V4L2)
if not cap.isOpened():
    print("Cannot open camera")
    exit()
while True:
    ret, frame = cap.read()
    if not ret:
        print("no stream!")
        break
    cv2.imshow('frame', frame)
    if cv2.waitKey(1) == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()
相关推荐
mit6.824几秒前
[VoiceRAG] 前端实时通信 | useRealTime钩子
人工智能
B站_计算机毕业设计之家4 分钟前
机器学习实战项目:Python+Flask 汽车销量分析可视化系统(requests爬车主之家+可视化 源码+文档)✅
人工智能·python·机器学习·数据分析·flask·汽车·可视化
CV-杨帆25 分钟前
论文阅读:arxiv 2025 Scaling Laws for Differentially Private Language Models
论文阅读·人工智能·语言模型
羊羊小栈28 分钟前
基于「多模态大模型 + BGE向量检索增强RAG」的航空维修智能问答系统(vue+flask+AI算法)
vue.js·人工智能·python·语言模型·flask·毕业设计
viperrrrrrrrrr729 分钟前
GPT系列模型-详解
人工智能·gpt·llm
算家计算1 小时前
Wan2.2-Animate-14B 使用指南:从图片到动画的完整教程
人工智能·开源·aigc
西柚小萌新1 小时前
【深入浅出PyTorch】--4.PyTorch基础实战
人工智能·pytorch·python
渡我白衣1 小时前
深度学习入门(一)——从神经元到损失函数,一步步理解前向传播(下)
人工智能·深度学习·神经网络
算家计算2 小时前
快手新模型登顶开源编程模型榜首!超越Qwen3-Coder等模型
人工智能·开源·资讯
ManageEngineITSM2 小时前
IT 服务自动化的时代:让效率与体验共进
运维·数据库·人工智能·自动化·itsm·工单系统