void ofxVideoGrabberCam::cameraInitializationLogic() { int devId = guid.Data1; grabber.setDeviceID(devId); if (depth != 1 && depth != 3) depth = 1; //Fallback to monochrome grabber.initGrabber(width, height); //FIXME: check status //grabber.grabFrame(); //width = grabber.width //height = grabber.height for (unsigned int i=0;i<cameraBaseSettings->propertyType.size();i++) setCameraFeature(cameraBaseSettings->propertyType[i],cameraBaseSettings->propertyFirstValue[i],cameraBaseSettings->propertySecondValue[i],cameraBaseSettings->isPropertyAuto[i],cameraBaseSettings->isPropertyOn[i]); }
void ofxPS3::cameraInitializationLogic() { cameraType = PS3; int camNum = CLEyeGetCameraCount(); for (int i=0;i<camNum;i++) { if (CLEyeGetCameraUUID(i) == guid) { index = i; break; } } if (index == -1) return; ps3EyeCamera = CLEyeCreateCamera(guid, (depth == 1) ? (cameraPixelMode ? CLEYE_MONO_PROCESSED : CLEYE_MONO_RAW) : (cameraPixelMode ? CLEYE_COLOR_PROCESSED : CLEYE_COLOR_RAW), width * height > 320 * 240 ? CLEYE_VGA : CLEYE_QVGA, framerate); Sleep(500); for (int i=0;i<cameraBaseSettings->propertyType.size();i++) setCameraFeature(cameraBaseSettings->propertyType[i],cameraBaseSettings->propertyFirstValue[i],cameraBaseSettings->propertySecondValue[i],cameraBaseSettings->isPropertyAuto[i],cameraBaseSettings->isPropertyOn[i]); CLEyeCameraStart(ps3EyeCamera); }
void ofxDShow::cameraInitializationLogic() { if (VI == NULL) VI = new videoInput(); VI->setVerbose(false); VI->listDevices(false); /* int count = VI->getDeviceCount(true); int selectedID = -1; for (int i=0;i<count;i++) { char* cameraGuidString = VI->getDevicePath(i); long cameraGuidNum = 0; int strLen = strlen(cameraGuidString); for (int j=0;j<strLen;j++) { cameraGuidNum*=0xFF; cameraGuidNum+=strLen[j]; cameraGuidNum%=0xFFFFFFFF; } if (cameraGuidNum == guid.Data1) { selectedID = i; break; } } if (selectedID == -1) return; */ if (!VI->setupDevice(guid.Data1,width,height)) VI->setupDevice(guid.Data1,320,240); VI->setIdealFramerate(guid.Data1,framerate); width = VI->getWidth(guid.Data1); height = VI->getHeight(guid.Data1); depth = VI->getSize(guid.Data1)/(width*height); if (cameraBaseSettings->propertyType.size() == 0) { long delta,flags,defaultValue,MinValue,MaxValue,CurrentValue; VI->getVideoSettingFilter(guid.Data1,VI->propBrightness,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_BRIGHTNESS); } VI->getVideoSettingFilter(guid.Data1,VI->propContrast,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_CONTRAST); } VI->getVideoSettingFilter(guid.Data1,VI->propHue,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_HUE); } VI->getVideoSettingFilter(guid.Data1,VI->propGamma,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_GAMMA); } VI->getVideoSettingFilter(guid.Data1,VI->propGain,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_GAIN); } VI->getVideoSettingFilter(guid.Data1,VI->propSaturation,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_SATURATION); } VI->getVideoSettingFilter(guid.Data1,VI->propSharpness,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_SHARPNESS); } VI->getVideoSettingCamera(guid.Data1,VI->propPan,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_PAN); } VI->getVideoSettingCamera(guid.Data1,VI->propTilt,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_TILT); } VI->getVideoSettingCamera(guid.Data1,VI->propRoll,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_ROLL); } VI->getVideoSettingCamera(guid.Data1,VI->propZoom,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_ZOOM); } VI->getVideoSettingCamera(guid.Data1,VI->propExposure,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_EXPOSURE); } VI->getVideoSettingCamera(guid.Data1,VI->propIris,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_IRIS); } VI->getVideoSettingCamera(guid.Data1,VI->propFocus,MinValue,MaxValue,delta,CurrentValue,flags,defaultValue); if (flags && (CurrentValue>-0xFF)) { cameraBaseSettings->isPropertyAuto.push_back(flags&1); cameraBaseSettings->isPropertyOn.push_back(true); cameraBaseSettings->propertyFirstValue.push_back(defaultValue); cameraBaseSettings->propertySecondValue.push_back(0); cameraBaseSettings->propertyType.push_back(BASE_FOCUS); } } for (int i=0;i<cameraBaseSettings->propertyType.size();i++) setCameraFeature(cameraBaseSettings->propertyType[i],cameraBaseSettings->propertyFirstValue[i],cameraBaseSettings->propertySecondValue[i],cameraBaseSettings->isPropertyAuto[i],cameraBaseSettings->isPropertyOn[i]); }