프레임 수 계산해서 출력하기

황고은·2022년 8월 25일
0
post-thumbnail

프레임수를 계산해 윈도우에 출력하는 코드를 작성했다.

fps : frame per second (초당 프레임)
동영상은 연속된 정지 사진들의 모음이다. 각각의 정지 사진 하나를 프레임이라고 부른다. frame rate는 1초에 몇 장의 사진들이 보이는지를 가르키는 말이다.

코드의 원리는 코드를 한 번 실행하는 데에 걸리는 시간을 계산해 1초로 나누어 프레임 수를 계산하는 것이다.

💻 CODE

calculate fps.py

import cv2
import time     # fps 계산 시 사용

cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)

if cap.isOpened() == False:
    print("Camera is not opened")
    exit(1)

prevTime = time.time()		# previous time

while True:
    ret, img = cap.read()

    if ret == False:
        print("Capture failed")
        break

    img = cv2.flip(img, 1)

    # 프레임 수 계산
    curTime = time.time()	# current time
    fps = 1 / (curTime - prevTime)
    prevTime = curTime
    # 프레임 수 문자열에 저장
    fps_str = "FPS : %0.1f" %fps

    # 문자열 표시
    cv2.putText(img, fps_str, (0, 25), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0))
    cv2.imshow('Camera', img)

    key = cv2.waitKey(1)

    if key == 27:
        break

cap.release()
cv2.destroyAllWindows()

📖 몰랐던 것

cv2.putText(image, text, org, font, fontScale, color) : 윈도우 화면에 텍스트를 보이기 위해 추가한 함수이다.

  • image : 텍스트가 쓰여질 이미지 변수
  • text : 쓰여질 텍스트
  • org : 텍스트가 위치 할 좌표 (x, y)
  • font : 폰트의 종류
  • fontscale : 폰트의 크기
  • color : 폰트의 색상, BGR 순서로 작성

💡 RESULT

profile
Snow Roller : 영차영차 눈을 굴려보아요 ⛄🚎

0개의 댓글