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()
相关推荐
galaxylove几秒前
Gartner预测2026年(二):驾驭中国的人工智能驱动变革
人工智能
GISer_Jing1 分钟前
JD AI全景:未来三年带动形成万亿规模的人工智能生态
前端·人工智能·aigc
liulanba4 分钟前
机器学习评估指标详解 - 高级篇
人工智能·机器学习
许泽宇的技术分享5 分钟前
当AI Agent学会“打电话“——微软Agent Framework的A2A与AGUI协议深度解析
人工智能·microsoft·a2a协议·ai多智能体·agui
summerkissyou19878 分钟前
Android10-Audio-音频焦点申请-调用流程
音视频
Qt学视觉8 分钟前
PaddlePaddle-2wget下载安装
c++·人工智能·paddlepaddle
雪花desu10 分钟前
大模型应用评估—— 从 BLEU 到 Agent 综合评价
人工智能·深度学习·神经网络·语言模型
CS创新实验室13 分钟前
课程提纲:计算机视觉——从原理解析到产业落地
人工智能·计算机视觉·cv
胡伯来了23 分钟前
17 Transformers - 音频领域的任务类
音视频·transformer·transformers·大数据模型
EchoL、26 分钟前
【论文阅读】SteganoGAN:High Capacity Image Steganography with GANs
论文阅读·人工智能·笔记·算法