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:[email protected]] 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()
相关推荐
知舟不叙6 分钟前
基于OpenCV中的图像拼接方法详解
人工智能·opencv·计算机视觉·图像拼接
Jamence9 分钟前
多模态大语言模型arxiv论文略读(七十五)
人工智能·语言模型·自然语言处理
点云SLAM12 分钟前
Python中列表(list)知识详解(2)和注意事项以及应用示例
开发语言·人工智能·python·python学习·数据结果·list数据结果
放飞自我的Coder12 分钟前
【NLP 计算句子之间的BLEU和ROUGE分数】
人工智能·自然语言处理
小众AI14 分钟前
UI-TARS: 基于视觉语言模型的多模式代理
人工智能·ui·语言模型
北京地铁1号线31 分钟前
卷积神经网络(CNN)前向传播手撕
人工智能·pytorch·深度学习
伊织code36 分钟前
PyTorch API 7 - TorchScript、hub、矩阵、打包、profile
人工智能·pytorch·python·ai·矩阵·api
小龙Guo41 分钟前
QT+opencv实现卡尺工具找圆、拟合圆
开发语言·qt·opencv
AI不止绘画1 小时前
分享一个可以用GPT打标的傻瓜式SD图片打标工具——辣椒炒肉图片打标助手
人工智能·ai·aigc·图片打标·图片模型训练·lora训练打标·sd打标
视觉语言导航1 小时前
昆士兰科技大学无人机自主导航探索新框架!UAVNav:GNSS拒止与视觉受限环境中的无人机导航与目标检测
人工智能·无人机·具身智能