소스 뷰어
import cv2
import time

# 카메라 열기 (0은 기본 카메라를 의미)
camera = cv2.VideoCapture(0)

if not camera.isOpened():
    print("카메라를 열 수 없습니다.")
    exit()

# 콘솔 메시지 출력
print("프로그램이 시작되었습니다. 종료하려면 'q'를 입력하세요.")

# 현재 시간 저장
start_time = time.time()
frame_count = 0

while True:
    # 카메라에서 프레임 읽기
    ret, frame = camera.read()
    if not ret:
        print("프레임을 가져올 수 없습니다.")
        break

    # FPS 계산
    frame_count += 1
    elapsed_time = time.time() - start_time
    fps = frame_count / elapsed_time

    # 텍스트 추가 (FPS, 경과 시간, 종료 안내 메시지)
    fps_text = f"FPS: {fps:.2f}"
    elapsed_text = f"Elapsed Time: {elapsed_time:.2f} s"
    quit_text = "Press 'q' to quit."

    font = cv2.FONT_HERSHEY_SIMPLEX
    cv2.putText(frame, fps_text, (10, 30), font, 1, (0, 255, 0), 2)
    cv2.putText(frame, elapsed_text, (10, 70), font, 1, (255, 0, 0), 2)
    cv2.putText(frame, quit_text, (10, 110), font, 1, (0, 0, 255), 2)

    # 영상 표시
    cv2.imshow("Camera", frame)

    # 'q' 키를 누르면 종료
    if cv2.waitKey(1) & 0xFF == ord('q'):
        print("프로그램이 종료되었습니다.")
        break

# 자원 해제
camera.release()
cv2.destroyAllWindows()