250x250
Link
๋‚˜์˜ GitHub Contribution ๊ทธ๋ž˜ํ”„
Loading data ...
Notice
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Data Science LAB

[Python] OpenCV ๊ธฐ์ดˆ 4 - ์ด๋ฏธ์ง€ ๋ฐ ๋™์˜์ƒ ์ €์žฅ ๋ณธ๋ฌธ

๐Ÿ–ฅ๏ธ Computer Vision/Opencv

[Python] OpenCV ๊ธฐ์ดˆ 4 - ์ด๋ฏธ์ง€ ๋ฐ ๋™์˜์ƒ ์ €์žฅ

ใ…… ใ…œ ใ…” ใ…‡ 2022. 8. 4. 21:05
728x90

1. ์ด๋ฏธ์ง€ ์ €์žฅ 

- Opencv ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜๋ฉด ์ด๋ฏธ์ง€๋ฅผ jpg์™€ png ํ˜•์‹์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. 

cv2.imwrite([์ €์žฅํ•  ์ด๋ฆ„.ํŒŒ์ผํ˜•์‹], ์ด๋ฏธ์ง€)
import cv2
img = cv2.imread('img.jpg',cv2.IMREAD_GRAYSCALE) # ํ‘๋ฐฑ์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
cv2.imwrite('img_save.png',img) # png ํ˜•ํƒœ๋กœ ์ €์žฅ

 

 

2. ๋™์˜์ƒ ์ €์žฅ

import cv2
cap = cv2.VideoCapture('video.mp4')

#์ฝ”๋ฑ ์ •์˜
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) *2 # ์˜์ƒ ์†๋„๊ฐ€ ๋‘๋ฐฐ

out = cv2.VideoWriter('output_2.avi',fourcc, fps, (width,height))
#์ €์žฅ ํŒŒ์ผ๋ช…, ์ฝ”๋ฑ, FPS, ํฌ๊ธฐ(width, height)


while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break
    
    out.write(frame) # ์˜์ƒ ๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅ (์†Œ๋ฆฌ X)
    
    cv2.imshow('video',frame)
    if cv2.waitKey(1) == ord('q'):
        break

out.release()    
cap.release()
cv2.destroyAllWindows()

์ฝ”๋ฑ์€ DIVX ํ˜•์‹์„ ์‚ฌ์šฉํ–ˆ๋‹ค. *'DIVX' ๋กœ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด D I V X ๋กœ ๋ฐ˜ํ™˜๋œ๋‹ค. 

cv2.CAP_PROP_FRAME_WIDTH ๋กœ ๊ฐ€๋กœ๊ธธ์ด ์ถ”์ถœ,  

cv2.CAP_PROP_FRAME_HEIGHT๋กœ ์„ธ๋กœ๊ธธ์ด๋ฅผ ์ถ”์ถœํ•˜์—ฌ cv2.VideoWriter()๋กœ ๋น„๋””์˜ค๋ฅผ ์ €์žฅํ•œ๋‹ค. 

 

while๋ฌธ์„ ์ด์šฉํ•ด ๋™์˜์ƒ์ด ์žฌ์ƒ๋˜๋Š” ๋™์•ˆ ๋ชจ๋“  ํ”„๋ ˆ์ž„์„ out.write(frame)์œผ๋กœ ์ €์žฅํ•œ๋‹ค. 

 

728x90
Comments