物联网设计竞赛_5_Jetson Nano连接摄像头解决运行卡顿问题

我在命令行用camorama命令打开摄像头的时候发现摄像头非常流畅

当我用python的cv2库打开摄像头的时候发现摄像头显示图片异常卡顿,在网上多方寻觅无果后,经过偶然尝试,我发现了卡顿原来是视频帧率问题

淘宝官方资料看我的摄像头只有30fps, 但我不知道为什么cv2打开我的摄像头默认是3.0帧

以下为将摄像头修改为30帧并打开摄像头显示的代码:

python 复制代码
import cv2
import time
def main():
    # 尝试打开摄像头
    cap = cv2.VideoCapture(0)
    if not cap.isOpened():
        print("打开摄像头失败")
        return
    
    fss = cap.get(cv2.CAP_PROP_FPS)
    print(f"默认帧率为 {fss}")
    
    # 设置帧率
    fps = 30  # 我的摄像头只有3.0帧率和30帧率 

    final = cap.set(cv2.CAP_PROP_FPS, fps)
    print(f"{final}")

    fds = cap.get(cv2.CAP_PROP_FPS)
    print(f"设置帧率为 {fds}")

    # 创建窗口
    window_handle = cv2.namedWindow("D435", cv2.WINDOW_AUTOSIZE)

    # 计算一下实际帧率 
    start_time = time.time()
    frame_count = 0
    # 逐帧显示
    while cv2.getWindowProperty("D435", 0) >= 0:
        ret_val, img = cap.read()
        if ret_val:
            cv2.imshow("D435", img)
            frame_count += 1
        else:
            print("捕获帧失败")
            break

        # 5s一计算
        if time.time() - start_time >= 5:
            elapsed_time = time.time() - start_time
            actual_fps = frame_count / elapsed_time
            print(f"实际帧率为: {actual_fps:.2f}")
            start_time = time.time()  # 重置计时器
            frame_count = 0  # 重置帧计数


        keyCode = cv2.waitKey(30) & 0xFF
        if keyCode == 27:  # ESC键退出
            break

    # 释放摄像头和销毁所有窗口
    cap.release()
    cv2.destroyAllWindows()

if __name__ == "__main__":
    main()

用上述代码30帧显示的效果就非常流畅了

说实话函数返回给我的结果也挺离奇的

python 复制代码
# 设置帧率
    fps = 30  # 我的摄像头只有3.0帧率和30帧率 

    final = cap.set(cv2.CAP_PROP_FPS, fps)
    print(f"{final}")

    fds = cap.get(cv2.CAP_PROP_FPS)
    print(f"设置帧率为 {fds}")

这一块理应返回的是3.0 true 30但是却返还

下方实际帧率是我通过5s内传递图片的数量 / 5得出来的实际帧率

也就是说吧我的摄像头其实设置帧率为30fps成功了,但是代码返还的结果是设置失败我真是服了,这可能是jetson和摄像头之间产生了奇妙BUG吧

默认情况下cv2打开我的摄像头确实是3.0帧, 但产品上都没有显示能3.0帧...

但确实默认帧率是3.0
怎么说呢啥稀奇古怪的情况,都少不了我踩雷😭

相关推荐
p***92481 分钟前
Python使用PyMySQL操作MySQL完整指南
数据库·python·mysql
kali-Myon19 分钟前
NewStarCTF2025-Week5-Web
java·python·安全·web安全·php·web·ctf
DFT计算杂谈23 分钟前
Abinit-10.4.7安装教程
linux·数据库·python·算法·matlab
肖永威1 小时前
VSCode调试Python命令行输入参数程序argparse模块实践
vscode·python
Chasing Aurora1 小时前
Python连接云端Linux服务器进行远程 (后端开发/深度学习)时候的注意事项
linux·开发语言·python·ubuntu·ai编程
咖啡の猫1 小时前
Python顺序结构
java·前端·python
xxxxxmy1 小时前
相向双指针—三数之和
python·算法·相向双指针
Blossom.1181 小时前
基于知识图谱+LLM的工业设备故障诊断:从SQL日志到可解释推理的实战闭环
人工智能·python·sql·深度学习·算法·transformer·知识图谱
c***42101 小时前
python的sql解析库-sqlparse
数据库·python·sql
Q一件事1 小时前
arcpy选择特定区域进行分析
python