2012-11-16 1 views
2

커널을 컴파일하고 USB 카메라를 지원하기위한 작은 시스템을 가지고 있습니다. 내가 장치에 카메라를 연결할 때 그것은 나에게 약간의 출력을 제공하고 내가는/dev/video0 장치 얻을 때 : 필요한 모든 libs와 함께 암에 대한static opencv가 Linux busybox에서 usb 웹캠을 찾을 수 없습니까?

usb 1-1: new high-speed USB device number 3 using orion-ehci 
uvcvideo: Found UVC 1.00 device Webcam C170 (046d:082b) 
input: Webcam C170 as /devices/platform/orion-ehci.0/usb1/1-1/1-1:1.0/input/input1 

/# ls -l /dev/video0 
crw-rw---- 1 0  0   81, 0 Mar 8 08:08 /dev/video0 
/# 

내가 staticly 컴파일 opencv2.4을하고 컴파일 오류를 얻을 코드 :

Mat frame; 
VideoCapture capture(0); 
if(!capture.isOpened()){ 
    printf("Cannot open camera\r\n"); 
    printf("%s\r\n", cvErrorStr(cvGetErrStatus())); 
} 

느릅 나무가 출력으로 만난 제공합니다

Cannot open camera 
No Error 
/# 

카메라가 내 노트북에 잘 작동하고 내가 모두 같은 결과를 여러 카메라를 시도했다. 나는 또한 opencv 카메라의 여는 방법을 여러 가지 방법으로 시도해 봤지만 나에게도 같은 결과를 주었다.

카메라에서 내 Busbox 시스템과 opencv를 읽으려면 어떻게해야합니까?

감사합니다.

답변

1

V4L이 누락되었을 수 있습니다. 나는 V4L 용 샘플 코드를 실행하고 그것을 조사 할 것이다. ldd와 함께 프로그램 한 모든 도서관에 링크되어 있는지 확인 했습니까?

+0

나는 똑같은 생각을하고 있었지만 opencv 컴파일 된 statlicy를 가지고 있으며 내가 작성한 코드에 대해서도 opencv는 WITH_V4L 등의 추가 기능으로 컴파일되었습니다. 또한 커널을 컴파일해야합니다. UVC 카메라 및 V4L 장치 등을 지원합니다. 저는이 프로젝트에 이번 주 언젠가 넣고 다시 방문 할 시간이있을 때 동적 인 exec를 컴파일하고 필요한 라이브러리를 대상 장치에 복사하려고합니다. – Sisco

+0

그래서 문제를 발견하고 해결할 수있었습니다. cmake를 사용하여 OpenCV를 구성 할 때 v4l 지원이 활성화되었지만 라이브러리를 빌드 할 때 실제로 v4l은 actuallibs로 컴파일되지 않았습니다. 어딘가에 모든 컴파일 결과 사이에 발견되지 않는 v4l1 및 v4l2 libs에 대한 오류가 발생했습니다. 그래서 나는 소스에서 v4l libs를 컴파일하고, cross lib 폴더와 voila에 복사했습니다! – Sisco

+0

업데이트 해 주셔서 감사합니다. – fireant