기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

opencv, usb 웹캠을 이용하여 각 환경에서 카메라 동작을 테스트 하고 있는데요


우선적으로 Windows 환경에서는 테스트를 완료하고 우분투 환경에서 테스트를 하려고 하는데

아래와 같은 내용이 출력이 됩니다.


소스코드중

//----

int nWidth = cvGetCaptureProperty(m_capture, CV_CAP_PROP_FRAME_WIDTH);
int nHeight = cvGetCaptureProperty(m_capture, CV_CAP_PROP_FRAME_HEIGHT);
int nGain = cvGetCaptureProperty(m_capture, CV_CAP_PROP_GAIN);
int nFocus = cvGetCaptureProperty(m_capture, CV_CAP_PROP_FOCUS);

//----


//출력

HIGHGUI ERROR: V4L2: Property Gain(14) not supported by device
HIGHGUI ERROR: V4L2: Unable to get property <unknown property string>(28) - 부적절한 인수
640, 480, -1, -1


출력 내용을 보면 width, heigh 의 값은 잘 얻어오는데 다른값들은 에러메시지가출력이 되더라구요

영상은 나오는데 컨트롤값이 이상하게 나오고 있습니다.


V4L2: Property Gain(14) not supported by device

해당 웹캠은 gain, focus 컨트롤을 지원한다고 하는데  에러 메시지를 보면 V4L2 와 연관이 있을것 같은데요

v4l2는 OS상에서 지원을 하는것으로 알고 있는데요. 사용중인 웹캠에서도 v4l2를 지원해야 사용할수 있는건가요?  


웹캠을 검색하다가 아래사이트에서 카메라를 봤는데요

https://wikidocs.net/3262

항목에 보면 아래와 같은 내용이있습니다

Linux integration

V4L2 driver available


V4L2 driver available


v4l2 드라이버를 지원한다는 내용인데 제가 사용중인 웹캠역시 v4l2 드라이버를 지원해야

리눅스 환경에서 컨트롤을 할수 있는것인지 궁금합니다.

현재 상태는 영상은 리눅스 환경에서도 나오는데 컨트롤설정이 안되고 있습니다.






밥줘잉

2016.07.09 02:56:34
*.101.99.147

UVC compatible webcam이어야 잘되는 것으로 압니다.

MS나 Logitec 제품으로 Test해보는것은 어떨까요?

Jazzguitar

2017.11.09 01:16:41
*.122.242.77

v4l2 드라이버를 지원한다는 내용인데 제가 사용중인 웹캠역시 v4l2 드라이버를 지원해야

리눅스 환경에서 컨트롤을 할수 있는것인지 궁금합니다.


정확히는 웹캠을 위한 리눅스용 device driver가 들어가 있으면 동작합니다. /drivers/media/usb 아래에 보면 다양한 종류의 usb cam을 위한 드라이버들이 있고 그 중에 UVC를 위한 디바이스도 있습니다. webcam device driver는 V4L2 subsystem을 이용해서 구현되어 있기 때문에 해당 드라이버가 V4L2 subsystem 으로 구현되어 있으면 사용가능합니다.


UVC는 usb video class를 이용해서 사용한 웹캠이기 때문에 최근에 나오는 대부분의 웹캠은 UVC spec을 따릅니다. 그래서 호환성이 좋죠.


아래 링크를 참고하세요~

https://linuxtv.org/downloads/v4l-dvb-apis/v4l-drivers/uvcvideo.html

http://www.ideasonboard.org/uvc/

List of Articles
번호 제목 글쓴이 날짜 조회 수

사용자 로그인