[라즈베리파이 강좌] OpenCV 예제 4. 카메라로 동영상 촬영하기

메카 2017-11-20 (월) 23:04 7년전 9160  

 

라즈베리파이 강좌

  OpenCV 예제 4. 카메라로 동영상 촬영하기




  안녕하세요. 메카솔루션 알도입니다.

  지난 번에 힘겹게 라즈베리파이에 OpenCV를 설치해보았는데요. 이번 주에는 OpenCV를 어떻게 사용하는지 알 수 있도록 제공한 샘플들을 살펴보도록 하겠습니다.


 


  세상에는 좋은 라이브러리들이 참 많은데요. 사실 라이브러리를 만드는 것도 고되지만, 만든 후에 사용 방법을 정리하는 것도 만만치 않게 힘든 일입니다. 그래서 이런 사용 방법이 잘 정리되어 있지 않아 코 앞에 두고도 사용하지 못하는 라이브러리들이 참 많습니다. 다행이 OpenCV는 사용 방법이 매우 잘 정리되어 있고, 다양한 예제까지 제공하고 있습니다.

 


 

     OpenCV video test



  시작하기 전

  아직 OpenCV를 설치하지 않으신 분들은 아래 링크를 참조하시기 바랍니다.

http://blog.naver.com/roboholic84/221139256044


  설치하는데에는 상당한 시간과 노력이 소요됩니다. 거의 저녁 혹은 퇴근 1시간 전 쯤에 시작하고 다음 날 확인하는 것이 가장 현명한 선택이라고 할 수 있겠습니다.

  만약 아직 라즈베리파이와 SD카드를 준비하지 않으셨거나, 여유가 안되시는 분들은 저희 메카솔루션에서 라즈비안 최신 버전에 OpenCV 3.3.0이 설치완료되어있는 SD카드를 판매 중이오니 관심 가져주시면 감사하겠습니다.

http://mechasolution.com/shop/goods/goods_view.php?goodsno=543841&category=046


  아직 카메라가 없으시다면 메카솔루션에서 라즈베리파이용 카메라를 구매하실 수 있습니다.



 OpenCV로 화면에 동영상 출력하기

  라즈베리파이에서 터미널로 들어갑니다. OpenCV를 설치할 때 만든 가상환경으로 들어갑니다.


 $ source ~/.profile

 $ workon cv


  파이썬에서 카메라를 사용하려면 picamera를 설치해야 합니다.


 $ pip install "picamera[array]"


  동영상을 촬영/출력하는 코드를 작성하기 위해 test_video.py 파일을 만듭니다.


 $ nano test_image.py


  아래와 같이 프로그램을 작성합니다.


 # import the necessary packages

 from picamera.array import PiRGBArray

 from picamera import PiCamera

 import time

 import cv2

 

 # initialize the camera and grab a reference to the raw camera capture

camera = PiCamera()

camera.resolution = (640, 480)

camera.framerate = 32

rawCapture = PiRGBArray(camera, size=(640, 480))

 

# allow the camera to warmup

time.sleep(0.1)

 

# capture frames from the camera

for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):

# grab the raw NumPy array representing the image, then initialize the timestamp

# and occupied/unoccupied text

image = frame.array

 

# show the frame

cv2.imshow("Frame", image)

key = cv2.waitKey(1) & 0xFF

 

# clear the stream in preparation for the next frame

rawCapture.truncate(0)

 

# if the `q` key was pressed, break from the loop

if key == ord("q"):

break


  저장하고 나와서 코드를 실행시킵니다.


 $ python test_test.py


  코드를 제대로 작성하셨다면 다음과 같이 카메라로 촬영한 결과를 확인할 수 있습니다.



뇌테러 2018-11-14 (수) 18:34 6년전
안녕하세요.
동영상 촬영후 동영상파일로 저장이 가능한지요?
동영상 파일 재생시 음성도 함께 출력이 되는지 궁금합니다.
테스트 해보셨다면 답변 부탁 드립니다.
감사합니다.
주소

메이크쉐어 PC버전 로그인
로그인 해주세요.

회원가입

쪽지

포인트

스크랩
기초강좌(배우고)
부품사용법(익히고)
프로젝트(공유하고)
게시판
메이크쉐어 PC버전 로그인