物联网设计竞赛_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
怎么说呢啥稀奇古怪的情况,都少不了我踩雷😭

相关推荐
Q26433650233 小时前
【有源码】基于 Hadoop 生态的化妆品销售数据存储分析与可视化 面向化妆品行业的用户画像构建与销售机会识别研究
大数据·hadoop·python·机器学习·spark·毕业设计·课程设计
2601_962078198 小时前
Python中calendar.weekday用法
python·编程技巧·calendar·日期处理·weekday
2601_962218619 小时前
万象生鲜系统业财一体化底层打通技术自动生成经营账单
大数据·数据库·人工智能·python·算法
2601_966949659 小时前
为什么量化策略需要大量历史股票数据?从回测可信度理解数据规模
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
2601_962885729 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
李高钢9 小时前
Python FastAPI 框架入门:从零搭建你的第一个高性能 API 服务
数据库·python·fastapi
ocean210310 小时前
2025-2026年Python面试高频知识点洞察
开发语言·python·面试·python八股文
jianqiang.xue10 小时前
ESP-IDF保姆级入门40|量产烧录与产线测试全解:批量烧录方案/校准流程/功能测试/不良分拣/产线追溯,掌握工业级量产交付全流程
单片机·物联网·esp32
Warson_L10 小时前
Python的OrderedDict
python
隐擎fox10 小时前
高性能网络爬虫架构设计:基于 Python 的长连接复用与分布式会话池调度实践
分布式·python·网络协议·tcp/ip·高并发·网络爬虫、