TITLE:USBカメラ(UVC)の制御
----
目次
#contents
today: &counter(today);
yesterday: &counter(yesterday);
total: &counter(total);
----
* ファイル構成と簡単な説明 [#jee5d1ed]
- Makefile
- data/
- excvInit.h
- histogram.c
- libwebcam.c
- main.c
#ref(webcam.tar.bz2);
* main関数の流れ [#qe446b20]
#code(c,nooutline){{
/*><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><
main.c
Time-stamp: <2010-12-04 15:43:03 kato>
libwebcamの使い方例
(1) 明るさ調節
(2) 後処理
(3) 初期化
(4) Qcam Orbit AFでのみ仕様確認済み
><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><*/
#include <stdio.h>
#include "cv.h"// OpenCV
#include "highgui.h"// OpenCV
#include <webcam.h>// libwebcam
#include "excvInit.h"// original
extern int excvHistogram(CHandle hDevice, IplImage *src);// (1)
extern CHandle webcamInitCamParam(char *videoName, int videoNum);// (2)
extern void webcamReleaseDevice(CHandle hDevice);// (3)
extern void excvPanTilt(CHandle hDevice, int key, int camAngle);// (4)
int standard(char *filename);
int main(int argc, char** argv){
char* filename = argc == 2 ? argv[1] : (char*)"./data/img/lena.jpg";
standard(filename);
return 0;
}
int standard(char *filename){
int key;
CvSize imgSize = {640, 480};
CvCapture* cap;
IplImage* src = cvCreateImage(imgSize, IPL_DEPTH_8U, 3);
IplImage* gray = cvCreateImage(imgSize, IPL_DEPTH_8U, 1);
CHandle hDevice = 0;// webcam.h
if((hDevice = webcamInitCamParam("video0", 0)) == -1)
return -1;
if(!(cap = cvCaptureFromCAM(0))){
puts("Camera is not found !!");
return -1;
}
cvNamedWindow("USB camera capture", 0);// make window
while(1){
src = cvQueryFrame(cap);// USB camera capture
cvCvtColor(src, gray, CV_RGB2GRAY);
excvHistogram(hDevice, gray);
cvShowImage("USB camera capture", src);// show capture image
key = cvWaitKey(10);
if(key == 27 || key == 'q')
break;
if(key == 'l')
webcamPanTilt(hDevice, WC_LEFT, 1024);
if(key == 'r')
webcamPanTilt(hDevice, WC_RIGHT, 1024);
}
webcamReleaseDevice(hDevice);
cvReleaseImage(&src);
cvReleaseImage(&gray);
cvReleaseCapture(&cap);
return 0;
}
}}
** 備考 [#qcb5b6dd]
Qcam Orbit AFの場合,[l]で左,[r]で右を向く
それ以外のカメラはexcvHistogramで明るさを調節するだけ
初期化と後処理を忘れないこと
Logicool以外でも動作したら報告してほしいです.