如何在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




