s t u d y . . ๐Ÿง/AI ์•ค ML ์•ค DL

[OpenCV] ์‹ค์‹œ๊ฐ„ ์˜์ƒ์ฒ˜๋ฆฌ

H J 2022. 9. 28. 19:33

๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด์˜ ์นด๋ฉ”๋ผ๋ฅผ ์ด์šฉํ•ด์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์˜์ƒ์ฒ˜๋ฆฌํ•ด์„œ ๋จธ์‹ ๋Ÿฌ๋‹์„ ๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด ์„œ์น˜ํ•ด๋ณด๊ณ  ์ •๋ฆฌํ•œ ๋‚ด์šฉ๋“ค์ด๋‹ค

์ผ๋‹จ ์ด๋ฒˆ ๊ธ€์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์˜์ƒ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ openCV์˜ ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด์•˜๋‹ค


OpenCV

  • cap = cv2.VideoCapture(path or ์นด๋ฉ”๋ผ์žฅ์น˜๋ฒˆํ˜ธ)
cap = cv2.VideoCapture("์˜์ƒ ๊ฒฝ๋กœ" or 0: ์นด๋ฉ”๋ผ์žฅ์น˜๋ฒˆํ˜ธ)

์ฒซ ํ”„๋ ˆ์ž„ ์ฝ์–ด cap ๊ฐ์ฒด์— ์ €์žฅ

 

  • cap.isOpen()
if cap.isOpened():

cap์ด ์ง€์ •ํ•œ ํ”„๋ ˆ์ž„์œผ๋กœ ์ œ๋Œ€๋กœ ์ดˆ๊ธฐํ™”๋˜์—ˆ๋Š”์ง€ ํ™•์ธ

 

  • cap.read()
ret, img = cap.read()  # ๋ฌดํ•œ๋ฐ˜๋ณต

์—ฐ์†์œผ๋กœ ํ”„๋ ˆ์ž„ ์ฝ๊ธฐ (์˜์ƒ ์ •๋ณด ์ฝ๊ธฐ)

ret : true or false / img : ํ”„๋ ˆ์ž„ ์ด๋ฏธ์ง€ or None

 

  • cap.get()
cap.get() # ์˜์ƒ์ •๋ณด ์ฝ์–ด์˜ค๊ธฐ

cv2.CAP_PROP_FRAME_WIDTH / HEIGHT / COUNT : width ์ •๋ณด / height ์ •๋ณด / ์˜์ƒ ์ด ํ”„๋ ˆ์ž„์ˆ˜

cv2.CAP_PROP_FPS : ์˜์ƒ fps ๊ฐ’

 

  • cv2.imshow(’file’, file)
cv2.imshow(video_file, img) # ์ฐฝ์˜ ์ œ๋ชฉ, ํ™”๋ฉด์— ํ‘œ์‹œํ•  ํ”„๋ ˆ์ž„ ์ด๋ฏธ์ง€ ๊ฐ์ฒด

์˜์ƒ ํŒŒ์ผ ์—ด๊ธฐ

 

  • cap.release()
cap.release() # ์ž์› ๋ฐ˜๋‚ฉ

 

  • cap.destroyAllWindows()
cv2.destroyAllWindows()

์—ด๋ฆฐ ์ฐฝ(์˜์ƒ, ์ด๋ฏธ์ง€) ๋‹ซ๊ธฐ

 

  • ์ •์ง€
if cv2.waitKey(1) != -1:
	break               

์นด๋ฉ”๋ผ(์ €์žฅ๋˜์–ด ์žˆ๋Š” ์˜์ƒ x)๋Š” ๋์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ํ‚ค๊ฐ€ ๋ˆŒ๋ฆฌ๋ฉด ์ •์ง€๋˜๋„๋ก

 


โœŒ๐Ÿฝ