mirror of
https://github.com/opencv/opencv.git
synced 2024-11-26 20:20:20 +08:00
Made automated triggering for ARAVIS cameras optional.
This commit is contained in:
parent
194304bbe4
commit
1358c0ae66
@ -483,6 +483,16 @@ enum { CAP_PROP_XI_DOWNSAMPLING = 400, //!< Chan
|
|||||||
|
|
||||||
//! @} XIMEA
|
//! @} XIMEA
|
||||||
|
|
||||||
|
/** @name XIMEA Camera API
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
//! Properties of cameras available through ARAVIS backend
|
||||||
|
enum { CAP_PROP_ARAVIS_AUTOTRIGGER = 600 //!< Automatically trigger frame capture if camera is configured with software trigger
|
||||||
|
};
|
||||||
|
|
||||||
|
//! @} ARAVIS
|
||||||
|
|
||||||
/** @name AVFoundation framework for iOS
|
/** @name AVFoundation framework for iOS
|
||||||
OS X Lion will have the same API
|
OS X Lion will have the same API
|
||||||
@{
|
@{
|
||||||
|
@ -149,6 +149,7 @@ protected:
|
|||||||
bool autoGain;
|
bool autoGain;
|
||||||
double targetGrey; // Target grey value (mid grey))
|
double targetGrey; // Target grey value (mid grey))
|
||||||
bool softwareTriggered; // Flag if the camera is software triggered
|
bool softwareTriggered; // Flag if the camera is software triggered
|
||||||
|
bool allowAutoTrigger; // Flag that user allowed to trigger software triggered cameras automatically
|
||||||
|
|
||||||
gint64 *pixelFormats;
|
gint64 *pixelFormats;
|
||||||
guint pixelFormatsCnt;
|
guint pixelFormatsCnt;
|
||||||
@ -190,6 +191,7 @@ CvCaptureCAM_Aravis::CvCaptureCAM_Aravis()
|
|||||||
exposureCompensation = 0;
|
exposureCompensation = 0;
|
||||||
targetGrey = 0;
|
targetGrey = 0;
|
||||||
frameID = prevFrameID = 0;
|
frameID = prevFrameID = 0;
|
||||||
|
allowAutoTrigger = false;
|
||||||
|
|
||||||
num_buffers = 10;
|
num_buffers = 10;
|
||||||
frame = NULL;
|
frame = NULL;
|
||||||
@ -292,7 +294,7 @@ bool CvCaptureCAM_Aravis::grabFrame()
|
|||||||
ArvBuffer *arv_buffer = NULL;
|
ArvBuffer *arv_buffer = NULL;
|
||||||
int max_tries = 10;
|
int max_tries = 10;
|
||||||
int tries = 0;
|
int tries = 0;
|
||||||
if (softwareTriggered) {
|
if (softwareTriggered && allowAutoTrigger) {
|
||||||
arv_camera_software_trigger (camera);
|
arv_camera_software_trigger (camera);
|
||||||
}
|
}
|
||||||
for(; tries < max_tries; tries ++) {
|
for(; tries < max_tries; tries ++) {
|
||||||
@ -499,6 +501,12 @@ double CvCaptureCAM_Aravis::getProperty( int property_id ) const
|
|||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CAP_PROP_ARAVIS_AUTOTRIGGER:
|
||||||
|
{
|
||||||
|
return allowAutoTrigger ? 1. : 0.;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return -1.0;
|
return -1.0;
|
||||||
}
|
}
|
||||||
@ -583,6 +591,11 @@ bool CvCaptureCAM_Aravis::setProperty( int property_id, double value )
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CAP_PROP_ARAVIS_AUTOTRIGGER:
|
||||||
|
{
|
||||||
|
allowAutoTrigger = (bool) value;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user