컴공/잡지식2015.06.02 20:44

/*

준비물 : 없음

*/


V4L2(Video4Linux2)란?
 리눅스에서 카메라 입력을 받기위한 표준 디바이스로서 V4L2(Video4Linux2)를 설치 후 활성화시에 사용자 프로그램이 커널을 통해 I/O요청을 확인하고 장치 드라이버로 전송이 이루어지는 것이 가능해진다.
그래서 사용자 프로그램이 커널을 통해 시스템 하드웨어에 접근 할 수 있도록 "dev" 디렉토리 내에 "video*" 라는 장치 파일이 생성이 이루어진다. 사용자는 이러한 "/dev/video*"을 통해 자료를 읽거나 기타 장치로 자료를 전송이 가능해진다.
물론 프로그래밍에서도 fopen 함수등을 이용해서 여러가지 응용을 할 수 있다.



<설치>


1. " $ sudo raspi-config " 로 들어가서 카메라 활성화


2. V4L2(Video4Linux2) 드라이버 활성화
$ sudo modprobe bcm2835-v4l2
$ ls /dev/video0 -> 검색 결과로 나오면 카메라 활성화 성공


3. V4L2(Video4Linux2) 인증키 설치
$ wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc && sudo apt-key add ./lrkey.asc


4. 소스리스트 추가 및 업데이트(apt-get update시 같이 업데이트 됨)
$ sudo vi /etc/apt/sources.list 열어서

          => " deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main " 내용 추가

$ sudo apt-get update -y


5. raspicam UV4L(Video4Linux2) pakage 설치
$ sudo apt-get install uv4l uv4l-raspicam -y


6. V4L2 장치활성화
$ uv4l --driver raspicam --auto-video_nr --width 640 --height 480 --encoding jpeg --frame-time 0
                                                                                                                                         -> bmp는 안된단다.. ㅠㅠ


* Tip : V4L2 영상 출력 시에 아래 명령어를 이용 시에 Overlay Screen이 뜨지 않는다.
$  uv4l --driver raspicam --auto-video_nr --nopreview


7. 사진촬영 테스트
$ dd if=/dev/video0 of=snapshot.jpeg bs=11M count=1


* 오류가 커널 오류가 생긴다면
$ sudo rpi-update
$ sudo reboot


8. 이후 3개의 패키지를 설치하자
$ sudo apt-get install uv4l-uvc
$ sudo apt-get install uv4l-xscreen
$ sudo apt-get install uv4l-mjpegstream



이제 카메라 연결됬으니 Opencv 설치해보자~

Posted by Gin Black_Gin