opencv - 5일차
오늘은 비디오에 날짜와 시간을 넣는 방법을 배울 공부했다
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