You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何在OpenCV Python中提升摄像头分辨率至1365x730?

当然可以调整摄像头分辨率!

完全没问题在OpenCV Python里修改摄像头的分辨率,但有个前提:你的摄像头硬件得支持1365x730这个分辨率。毕竟不是所有摄像头都能适配任意自定义分辨率,如果硬件不支持,OpenCV会自动切换到它能识别的最接近的分辨率。

下面是修改后的代码,我给你加了分辨率设置的逻辑,还加了验证实际分辨率的步骤(很实用,避免以为设置成功但其实没生效):

import cv2

# 初始化摄像头设备(0代表默认摄像头)
cap = cv2.VideoCapture(0)

# 设置目标分辨率:宽度1365,高度730
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1365)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 730)

# 验证实际生效的分辨率(关键!因为硬件可能不支持目标值)
actual_width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
actual_height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
print(f"当前摄像头实际分辨率: {int(actual_width)}x{int(actual_height)}")

while True:
    ret, frame = cap.read()
    # 检查是否成功读取帧
    if not ret:
        print("读取摄像头帧失败,请检查摄像头连接")
        break
    
    cv2.imshow('摄像头画面', frame)
    # 按下ESC键(ASCII码27)退出循环
    if cv2.waitKey(1) & 0xFF == 27:
        break

# 别忘了释放摄像头资源和关闭窗口
cap.release()
cv2.destroyAllWindows()

几个重要的注意事项:

  • 如果cap.set()返回False,说明你的摄像头不支持1365x730,建议试试标准分辨率,比如1280x720(720p)、1920x1080(1080p)这类绝大多数摄像头都支持的参数。
  • 部分摄像头需要先设置视频编码格式才能解锁更高分辨率,比如添加这行代码:
    cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*'MJPG'))
    
  • 要是不确定你的摄像头支持哪些分辨率,可以查硬件说明书,或者写个小脚本遍历测试常见的分辨率组合。

内容的提问来源于stack exchange,提问作者sharifa

火山引擎 最新活动