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

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

 

라즈베리파이 강좌

  OpenCV 예제 3. 카메라로 정지영상 촬영하기




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

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


 


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

 


 

     OpenCV imshow



  시작하기 전

  아직 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_image.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()

 rawCapture = PiRGBArray(camera)

 

 # allow the camera to warmup

 time.sleep(0.1)

 

 # grab an image from the camera

 camera.capture(rawCapture, format="bgr")

 image = rawCapture.array

 

 # display the image on screen and wait for a keypress

 cv2.imshow("Image", image)

 cv2.waitKey(0)


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


 $ python test_image.py


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



  다음 번에는 동영상으로 출력하는 부분을 해보도록 하겠습니다.

메카리워즈 Image Map


모바일 버전으로 보기