Example #1
0
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]);
}
Example #2
0
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);
}
Example #3
0
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]);
}