파이썬으로 영상처리_파일 저장

k_minseokVv·2024년 1월 8일
0

OpenCV - Python

목록 보기
4/13

강의 출처 : https://www.youtube.com/watch?v=XK3eU9egll8&t=19409s

사진 저장

import cv2
img = cv2.imread('img.jpg',cv2.IMREAD_GRAYSCALE)#흑백으로 불러오기
cv2.imshow('img,',img)

cv2.waitKey(0)
cv2.destroyAllWindows()

result = cv2.imwrite('grayimg.jpg',img) # jpg로 저장
#png로도 저장가능
print(result) # 결과 확인

동영상 저장

import cv2
cap = cv2.VideoCapture('video.mp4') #VideoCapture(0)으로 바꿔주면 웹캡영상도 저장할 수 있음

#코덱 정의(동영상 저장 시 필요)
fourcc = cv2.VideoWriter_fourcc(*'DIVX') #코덱 정의
width = round(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) #원본 영상의 가로 길이를 받아옴
height = round(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) #원본 영상의 세로 길이를 받아옴
fps = cap.get(cv2.CAP_PROP_FPS) # 원본 영상의 fps를 받아옴

out = cv2.VideoWriter('outvidi.avi',fourcc,fps,(width,height)) #파일을 저장하기 위해서 out정보 저장
#저장 파일명, 코덱, fps, 크기

while cap.isOpened():
    ret, frame = cap.read()
    
    if not ret:
        break
        
    out.write(frame) #영상만 소리는 안됨
    cv2.imshow('video',frame)
    if cv2.waitKey(1) == ord('q'): #q를 누르면 종료 아스키코드 값으로 처리
        break

out.release()
cap.release()
cv2.destroyAllWindows()
  • 코덱 정보 저장 시 *'DIVX' 로 입력하는 이유
#예시
codec = 'DIVX'
print(codec)
print(*codec)
print([*codec])

출력을 확인해보면

DIVX
D I V X
['D', 'I', 'V', 'X']

임을 확인할 수 있다.

profile
C++, Python 활용 중

0개의 댓글