Added get and set for additional PVAPI properties: DecimationHorizontal, DecimationVertical, BinningX, BinningY
This commit is contained in:
parent
07744af790
commit
2b94bcffb9
@ -191,8 +191,12 @@ enum { CAP_PROP_GSTREAMER_QUEUE_LENGTH = 200 // default is 1
|
|||||||
|
|
||||||
|
|
||||||
// PVAPI
|
// PVAPI
|
||||||
enum { CAP_PROP_PVAPI_MULTICASTIP = 300, // ip for anable multicast master mode. 0 for disable multicast
|
enum { CAP_PROP_PVAPI_MULTICASTIP = 300, // ip for anable multicast master mode. 0 for disable multicast
|
||||||
CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE = 301 // FrameStartTriggerMode: Determines how a frame is initiated
|
CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE = 301, // FrameStartTriggerMode: Determines how a frame is initiated
|
||||||
|
CAP_PROP_PVAPI_DECIMATIONHORIZONTAL = 302, // Horizontal sub-sampling of the image
|
||||||
|
CAP_PROP_PVAPI_DECIMATIONVERTICAL = 303, // Vertical sub-sampling of the image
|
||||||
|
CAP_PROP_PVAPI_BINNINGX = 304, // Horizontal binning factor
|
||||||
|
CAP_PROP_PVAPI_BINNINGY = 305 // Vertical binning factor
|
||||||
};
|
};
|
||||||
|
|
||||||
// PVAPI: FrameStartTriggerMode
|
// PVAPI: FrameStartTriggerMode
|
||||||
@ -203,6 +207,13 @@ enum { CAP_PVAPI_FSTRIGMODE_FREERUN = 0, // Freerun
|
|||||||
CAP_PVAPI_FSTRIGMODE_SOFTWARE = 4 // Software
|
CAP_PVAPI_FSTRIGMODE_SOFTWARE = 4 // Software
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// PVAPI: DecimationHorizontal, DecimationVertical
|
||||||
|
enum { CAP_PVAPI_DECIMATION_OFF = 1, // Off
|
||||||
|
CAP_PVAPI_DECIMATION_2OUTOF4 = 2, // 2 out of 4 decimation
|
||||||
|
CAP_PVAPI_DECIMATION_2OUTOF8 = 3, // 2 out of 8 decimation
|
||||||
|
CAP_PVAPI_DECIMATION_2OUTOF16 = 5 // 2 out of 16 decimation
|
||||||
|
};
|
||||||
|
|
||||||
// Properties of cameras available through XIMEA SDK interface
|
// Properties of cameras available through XIMEA SDK interface
|
||||||
enum { CAP_PROP_XI_DOWNSAMPLING = 400, // Change image resolution by binning or skipping.
|
enum { CAP_PROP_XI_DOWNSAMPLING = 400, // Change image resolution by binning or skipping.
|
||||||
CAP_PROP_XI_DATA_FORMAT = 401, // Output data format.
|
CAP_PROP_XI_DATA_FORMAT = 401, // Output data format.
|
||||||
|
@ -218,6 +218,10 @@ enum
|
|||||||
// PVAPI
|
// PVAPI
|
||||||
CV_CAP_PROP_PVAPI_MULTICASTIP = 300, // ip for anable multicast master mode. 0 for disable multicast
|
CV_CAP_PROP_PVAPI_MULTICASTIP = 300, // ip for anable multicast master mode. 0 for disable multicast
|
||||||
CV_CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE = 301, // FrameStartTriggerMode: Determines how a frame is initiated
|
CV_CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE = 301, // FrameStartTriggerMode: Determines how a frame is initiated
|
||||||
|
CV_CAP_PROP_PVAPI_DECIMATIONHORIZONTAL = 302, // Horizontal sub-sampling of the image
|
||||||
|
CV_CAP_PROP_PVAPI_DECIMATIONVERTICAL = 303, // Vertical sub-sampling of the image
|
||||||
|
CV_CAP_PROP_PVAPI_BINNINGX = 304, // Horizontal binning factor
|
||||||
|
CV_CAP_PROP_PVAPI_BINNINGY = 305, // Vertical binning factor
|
||||||
|
|
||||||
// Properties of cameras available through XIMEA SDK interface
|
// Properties of cameras available through XIMEA SDK interface
|
||||||
CV_CAP_PROP_XI_DOWNSAMPLING = 400, // Change image resolution by binning or skipping.
|
CV_CAP_PROP_XI_DOWNSAMPLING = 400, // Change image resolution by binning or skipping.
|
||||||
|
@ -300,12 +300,26 @@ double CvCaptureCAM_PvAPI::getProperty( int property_id )
|
|||||||
return 4.0;
|
return 4.0;
|
||||||
else
|
else
|
||||||
return -1.0;
|
return -1.0;
|
||||||
|
case CV_CAP_PROP_PVAPI_DECIMATIONHORIZONTAL:
|
||||||
|
PvAttrUint32Get(Camera.Handle, "DecimationHorizontal", &nTemp);
|
||||||
|
return (double)nTemp;
|
||||||
|
case CV_CAP_PROP_PVAPI_DECIMATIONVERTICAL:
|
||||||
|
PvAttrUint32Get(Camera.Handle, "DecimationVertical", &nTemp);
|
||||||
|
return (double)nTemp;
|
||||||
|
case CV_CAP_PROP_PVAPI_BINNINGX:
|
||||||
|
PvAttrUint32Get(Camera.Handle,"BinningX",&nTemp);
|
||||||
|
return (double)nTemp;
|
||||||
|
case CV_CAP_PROP_PVAPI_BINNINGY:
|
||||||
|
PvAttrUint32Get(Camera.Handle,"BinningY",&nTemp);
|
||||||
|
return (double)nTemp;
|
||||||
}
|
}
|
||||||
return -1.0;
|
return -1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CvCaptureCAM_PvAPI::setProperty( int property_id, double value )
|
bool CvCaptureCAM_PvAPI::setProperty( int property_id, double value )
|
||||||
{
|
{
|
||||||
|
tPvErr error;
|
||||||
|
|
||||||
switch ( property_id )
|
switch ( property_id )
|
||||||
{
|
{
|
||||||
case CV_CAP_PROP_FRAME_WIDTH:
|
case CV_CAP_PROP_FRAME_WIDTH:
|
||||||
@ -389,7 +403,6 @@ bool CvCaptureCAM_PvAPI::setProperty( int property_id, double value )
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CV_CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE:
|
case CV_CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE:
|
||||||
tPvErr error;
|
|
||||||
if (value==0)
|
if (value==0)
|
||||||
error = PvAttrEnumSet(Camera.Handle, "FrameStartTriggerMode", "Freerun");
|
error = PvAttrEnumSet(Camera.Handle, "FrameStartTriggerMode", "Freerun");
|
||||||
else if (value==1)
|
else if (value==1)
|
||||||
@ -406,6 +419,36 @@ bool CvCaptureCAM_PvAPI::setProperty( int property_id, double value )
|
|||||||
break;
|
break;
|
||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
|
case CV_CAP_PROP_PVAPI_DECIMATIONHORIZONTAL:
|
||||||
|
if (value >= 1 && value <= 8)
|
||||||
|
error = PvAttrUint32Set(Camera.Handle, "DecimationHorizontal", value);
|
||||||
|
else
|
||||||
|
error = ePvErrOutOfRange;
|
||||||
|
if(error==ePvErrSuccess)
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
case CV_CAP_PROP_PVAPI_DECIMATIONVERTICAL:
|
||||||
|
if (value >= 1 && value <= 8)
|
||||||
|
error = PvAttrUint32Set(Camera.Handle, "DecimationVertical", value);
|
||||||
|
else
|
||||||
|
error = ePvErrOutOfRange;
|
||||||
|
if(error==ePvErrSuccess)
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
case CV_CAP_PROP_PVAPI_BINNINGX:
|
||||||
|
error = PvAttrUint32Set(Camera.Handle, "BinningX", value);
|
||||||
|
if(error==ePvErrSuccess)
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
case CV_CAP_PROP_PVAPI_BINNINGY:
|
||||||
|
error = PvAttrUint32Set(Camera.Handle, "BinningY", value);
|
||||||
|
if(error==ePvErrSuccess)
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user