라즈베리 멀티 카메라로 입체 이미지 만들기

by YoungSeok Kim | 2016-07-03 22:56

vice-03.gif


여러 렌즈로 한 장면을 찍어 2D 화면에서 입체적인 효과를 낼 수 있는 스테레오스코픽 기법을 활용할 수 있는 카메라를 만들어 보고 싶었다.


그래서 여러개의 카메라 모듈을 컨트롤 하는 방법을 찾아보았고 발견한 것이 Arducam의 Multi Camera Adapter Module(링크)이다.



스택 구조로 4개까지 쌓을 수 있으며 라즈베리 파이부터 3 모델까지 모두 호환이 된다.


IMG_3865.JPG


카메라 모듈을 연결한 모습



IMG_3869.JPG


스테레오스코픽 기법을 활용하려면 잘 고정되어 있는 것이 중요하다. 그러나 도면 없이 바로 고정하려다 보니 오차가 심해 레이저 커팅을 이용하기로 했다.


IMG_3980.JPG


레이저 커팅으로 보드와 카메라를 한 판에 고정시켜 보았다.


IMG_1481.jpeg

전면부 모습


IMG_1135.jpeg


파이썬 코드를 작동시키면 이렇게 찍히는 모습을 볼 수 있다.


사용법


먼저 아래 명령어를 입력하고


sudo apt-get install python-rpi.gpio


sudo python 파일명.py


명령어를 통해 사용 가능하다.


코드(.py)


import RPi.GPIO as gp

import os


gp.setwarnings(False)

gp.setmode(gp.BOARD)


gp.setup(7, gp.OUT)

gp.setup(11, gp.OUT)

gp.setup(12, gp.OUT)


gp.setup(15, gp.OUT)

gp.setup(16, gp.OUT)

gp.setup(21, gp.OUT)

gp.setup(22, gp.OUT)


gp.output(11, True)

gp.output(12, True)

gp.output(15, True)

gp.output(16, True)

gp.output(21, True)

gp.output(22, True)


def main():

   gp.output(7, False)

   gp.output(11, False)

   gp.output(12, True)

   capture(1)


   gp.output(7, True)

   gp.output(11, False)

   gp.output(12, True)

   capture(2)


   gp.output(7, False)

   gp.output(11, True)

   gp.output(12, False)

   capture(3)


   gp.output(7, True)

   gp.output(11, True)

   gp.output(12, False)

   capture(4)


def capture(cam):

   cmd = "raspistill -o capture_%d.jpg" % cam

   os.system(cmd)


if __name__ == "__main__":

   main()


   gp.output(7, False)

   gp.output(11, False)

   gp.output(12, True)


활용


capture_1-Recovered.gif


이런식으로 활용할 수 있다. 위 이미지랑 다르게 조금 더 정신이 없는 이유는.. 카메라 렌즈가 광각렌즈라서 그렇다. 여건이 된다면 단렌즈를 이용해서 제대로 찍어보고 싶다.


































댓글 3

멀티 카메라 만들기

라즈베리 멀티 카메라로 입체 이미지 만들기

by YoungSeok Kim

MADE BY

YoungSeok Kim

arduino, creo, graphic_design, html/css, obj-c, Photoshop, sketchup
라즈베리 멀티 카메라로 입체 이미지 만들기현재글