카테고리 없음

opencv - 5일차

judy9710 2020. 2. 26. 23:59

오늘은 비디오에 날짜와 시간을 넣는 방법을 배울 공부했다

 

import cv2

cap = cv2.VideoCapture(0)
print(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
print(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
cap.set(3,3000)
cap.set(4,3000)
print(cap.get(3))
print(cap.get(4))

while(cap.isOpened()):
    ret, frame = cap.read()
    if ret == True:

        font = cv2.FONT_HERSHEY_SIMPLEX
        text = 'Width : ' + str(cap.get(3)) + 'Height: ' + str(cap.get(4))
        frame = cv2.putText(frame, text, (10, 50), font, 1, (0, 255, 255), 2, cv2.LINE_AA) 
        cv2.imshow('frame', frame)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
        else:
            break

        
cap.release()
cv2.destroyAllWindows()

 

저번시간까지 공부한 것에서 추가된 것이라면 text 라는 파라미터를 putText 메소드에 전달했다는 것.

 

text 는 비디오에 집어넣고 싶은 텍스트를 의미함.

putText 는 파이썬 문법에서 스트링을 연결하는 방식으로 + 를 사용했고 수치값을 str 함수를 이용해서 문자열로 변환.

 

cap.set(3,3000) cap.set(4, 3000) 과정을 통해 높이와 너비를 조정했다고 해도 frame 이 출력될 수 있는 최대의 크기인 1280, 720으로 출력이 됨을 볼 수 있다.

 

putText 함수의 파라미터는 다음과 같다:

 

첫번째 : 프레임명

두번째 : 텍스트

세번째 : 텍스트 위치

네번째 : 텍스트의 글꼴

다섯번째 : 텍스트의 사이즈

여섯번째 : 텍스트의 색상

일곱번째 : 텍스트의 굵기

여덟번째 : 텍스트 라인 타입

 

 

텍스트를 바꿔서 date time 을 출력하는 문자열을 넣어보자.

우선 datetime 을 임포트 해야한다.

 

import cv2 
import datetime


cap = cv2.VideoCapture(0) 
print(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) 
print(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 
cap.set(3,3000) 
cap.set(4,3000) 
print(cap.get(3)) 
print(cap.get(4)) 

while(cap.isOpened()): 
    ret, frame = cap.read() 
    if ret == True: 

        font = cv2.FONT_HERSHEY_SIMPLEX 
        text = 'Width : ' + str(cap.get(3)) + 'Height: ' + str(cap.get(4)) 
        datet = str(datetime.datetime.now())

        frame = cv2.putText(frame, text, (10, 50), font, 1, (0, 255, 255), 2, cv2.LINE_AA)  
        cv2.imshow('frame', frame) 

        if cv2.waitKey() & 0xFF == ord('q'): 
            break 
        else: 
            break 

         
cap.release() 
cv2.destroyAllWindows() 

 

datetime.datetime.now() 함수는 현재의 년 월 일 시각을 알려준다

 

출력결과

내일은 비디오에서 마우스 간섭이 일어나는 경우에 대해 공부할 것이다.

 

TISTORY

나를 표현하는 블로그를 만들어보세요.

www.tistory.com