Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions max_fps_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import cv2
import time

cap = cv2.VideoCapture(0)

# 对应你摄像头640*480,硬件上限30fps
W = 640
H = 480
MAX_HW_FPS = 30

cap.set(cv2.CAP_PROP_FRAME_WIDTH, W)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, H)
cap.set(cv2.CAP_PROP_FPS, MAX_HW_FPS)

total_frame = 0
start_all = time.time()
last_print = time.time()

while True:
ret, frame = cap.read()
if not ret:
print("摄像头读取失败")
break
total_frame += 1
now = time.time()
# 每2秒打印实时平均
if now - last_print >= 2:
instant_fps = total_frame / (now - start_all)
print(f"实时平均FPS:{instant_fps:.2f} / 硬件上限{MAX_HW_FPS}")
last_print = now

cv2.imshow("最高帧率测试", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break

# 退出后输出最终稳定最高帧率
total_time = now - start_all
avg_fps = total_frame / total_time
print("\n========测试结束========")
print(f"总帧数:{total_frame} 总时长:{total_time:.2f}s")
print(f"该分辨率实测稳定最高帧率:{avg_fps:.2f} FPS")

cap.release()
cv2.destroyAllWindows()