728x90
반응형
opencv로 비디오를 프레임 이미지로 읽어서 저장하는것까지 해보았는데, 이번엔 그 해당 이미지에 특정 좌표를 그려넣는걸 해보자.
import cv2
# 비디오 파일 경로
video_path = '/my_dir/input_video.mp4'
# 출력 비디오 경로
output_video_path = '/my_dir/output_video_with_rectangle.mp4'
# 비디오 캡처 객체 생성
cap = cv2.VideoCapture(video_path)
# 원본 비디오의 속성 가져오기
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
fps = cap.get(cv2.CAP_PROP_FPS)
# VideoWriter 객체 생성 (코덱, FPS, 프레임 크기 설정)
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter(output_video_path, fourcc, fps, (width, height))
while True:
ret, frame = cap.read()
# 프레임을 제대로 읽었는지 확인
if not ret:
break
# 사각형 좌표 및 크기 설정 (왼쪽 상단 x, y 좌표, 오른쪽 하단 x, y 좌표)
start_point = (50, 50) # 사각형의 왼쪽 상단 좌표
end_point = (200, 200) # 사각형의 오른쪽 하단 좌표
color = (0, 255, 0) # 사각형의 색상 (BGR 형식, 여기서는 녹색)
thickness = 2 # 사각형의 두께
# 프레임에 사각형 그리기
frame_with_rectangle = cv2.rectangle(frame, start_point, end_point, color, thickness)
# 새로운 비디오 파일에 프레임 쓰기
out.write(frame_with_rectangle)
# 자원 해제
cap.release()
out.release()
print(f'Output video saved as {output_video_path}')
오늘은 여기까지
728x90
반응형
'OpenCV' 카테고리의 다른 글
[OpenCV] 이미지 처리 (Canny) (0) | 2024.08.18 |
---|---|
[OpenCV] 이미지 처리 (Laplacian) (0) | 2024.08.18 |
[OpenCV] 이미지 처리 (비디오) (0) | 2024.08.18 |
[OpenCV] 이미지 처리 (자동보정) (0) | 2024.08.17 |
[OpenCV] 이미지 처리 (모자이크 & 블러) (0) | 2024.08.17 |