티스토리 뷰
[원본 이미지]
[원본 동영상]
https://www.youtube.com/shorts/ETfpt5La-Y0
[편집된 동영상]
def OverlayImage2Video(video_path, image_path, output_path): #2023.10.31
# 비디오를 읽어온다.
video = cv2.VideoCapture(video_path)
# 이미지를 읽어온다.
image = cv2.imread(image_path)
# 비디오의 프레임 개수를 가져온다.
frame_count = int(video.get(cv2.CAP_PROP_FRAME_COUNT))
# 비디오의 프레임 크기를 가져온다.
# frame_size = cv2.Size(video.get(cv2.CAP_PROP_FRAME_WIDTH), video.get(cv2.CAP_PROP_FRAME_HEIGHT))
frame_size = (int(video.get(cv2.CAP_PROP_FRAME_WIDTH)), int(video.get(cv2.CAP_PROP_FRAME_HEIGHT)))
image = cv2.resize(image, frame_size)
# 새로운 동영상을 생성한다.
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
output = cv2.VideoWriter(output_path, fourcc, video.get(cv2.CAP_PROP_FPS), frame_size)
# output = cv2.VideoWriter(output_path, fourcc, video.get(cv2.CAP_PROP_FPS), (video.get(cv2.CAP_PROP_FRAME_WIDTH), video.get(cv2.CAP_PROP_FRAME_HEIGHT)))
# 비디오의 모든 프레임을 반복한다.
for i in range(frame_count):
# 현재 프레임을 읽어온다.
ret, frame = video.read()
# 이미지를 현재 프레임에 덮어 씌운다.
overlayed_frame = cv2.addWeighted(frame, 1, image, 0.9, 0)
# 덮어 씌운 프레임을 출력한다.
output.write(overlayed_frame)
# 비디오를 닫는다.
video.release()
output.release()
반응형
'SWDesk' 카테고리의 다른 글
[Python4BID] 동영상에 반투명으로 움직이는 PNG 입히기 (0) | 2023.11.05 |
---|---|
[Python4BID] 상이한 투명도로 2개의 이미지 합치기 (0) | 2023.11.03 |
[Python4BID] 타일 형식의 이미지 만들기 (0) | 2023.11.02 |
[Python4BID] 이미지의 일부분을 투명하게 만드는 방법 (0) | 2023.11.02 |
[Python] DataFrame의 열에 List 배열 데이터 추가하기 (0) | 2023.10.08 |
반응형
250x250
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Hurdles
- 전류
- Decorator
- Innovation&Hurdles
- 아두이노
- badp
- image
- 혁신
- bilient
- 빌리언트
- 오블완
- ServantClock
- 심심풀이
- 전압
- DYOV
- Video
- 허들
- BSC
- 치매
- 전압전류모니터링
- 치매방지
- arduino
- Innovations
- 심심풀이치매방지기
- 티스토리챌린지
- 배프
- 둎
- 혁신과허들
- 절연형
- Innovations&Hurdles
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함