OpenCV Python - webcam에서 가져온 영상을 mp4로 저장하는 예제OpenCV/OpenCV 강좌2023. 10. 13. 22:47
Table of Contents
반응형
webcam에서 가져온 영상을 mp4로 저장하는 OpenCV Python 예제입니다.
2022. 3. 30 최초작성
# 참고 # https://github.com/dgseten/bad-cv-tfm/blob/2ada9b71f85aa5eb75c1f4a039cb14d697ee2f69/tools/video/video-player-wait-fps.py # https://stackoverflow.com/a/65146731 # https://stackoverflow.com/a/41666642 import cv2 import time import os # 이미지에 텍스트를 출력하는 함수 def draw_text(img, text, x, y): font = cv2.FONT_HERSHEY_SIMPLEX font_scale = 1 font_thickness = 2 text_color=(255, 0, 0) text_color_bg=(0, 0, 0) text_size, _ = cv2.getTextSize(text, font, font_scale, font_thickness) text_w, text_h = text_size offset = 5 cv2.rectangle(img, (x - offset, y - offset), (x + text_w + offset, y + text_h + offset), text_color_bg, -1) cv2.putText(img, text, (x, y + text_h + font_scale - 1), font, font_scale, text_color, font_thickness) # 웹캠 연결 cap = cv2.VideoCapture(0) # 웹캠에서 fps 값 획득 fps = cap.get(cv2.CAP_PROP_FPS) print('fps', fps) if fps == 0.0: fps = 30.0 time_per_frame_video = 1/fps last_time = time.perf_counter() width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) fourcc = cv2.VideoWriter_fourcc(*'mp4v') BASE_DIR = os.path.dirname(os.path.abspath(__file__)) writer = cv2.VideoWriter(BASE_DIR + '/' + 'output.mp4', fourcc, fps, (width, height)) while True: # 웹캠에서 이미지 읽어옴 ret,img_color = cap.read() if ret == False: print('웹캠에서 영상을 읽을 수 없습니다.') break writer.write(img_color) # fsp 계산 time_per_frame = time.perf_counter() - last_time time_sleep_frame = max(0, time_per_frame_video - time_per_frame) time.sleep(time_sleep_frame) real_fps = 1/(time.perf_counter()-last_time) last_time = time.perf_counter() x = 30 y = 50 text = '%.2f fps' % real_fps # 이미지의 (x, y)에 텍스트 출력 draw_text(img_color, text, x, y) cv2.imshow("Color", img_color) # ESC키 누르면 중지 if cv2.waitKey(1)&0xFF == 27: break cap.release() writer.release() cv2.destroyAllWindows() |
반응형
'OpenCV > OpenCV 강좌' 카테고리의 다른 글
유사한 사진 찾아주는 Python 코드 (0) | 2023.10.13 |
---|---|
이미지에서 텍스트 영역을 찾아주는 OpenCV Python의 MSER 예제 (0) | 2023.10.13 |
OpenCV Python 강좌 – Perspective Transformation (0) | 2023.10.12 |
OpenCV Python 강좌 – 이미지 이동 / 회전 하기 (0) | 2023.10.12 |
OpenCV Python 강좌 – 이미지 확대/축소 resize 함수 (0) | 2023.10.12 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!