Commit b529b37d authored by Alexander Alekhin's avatar Alexander Alekhin

Merge pull request #6032 from mzajko:ximea_getprop_update

parents e4dc479e c2165733
This diff is collapsed.
...@@ -274,6 +274,8 @@ enum ...@@ -274,6 +274,8 @@ enum
CV_CAP_PROP_XI_DECIMATION_VERTICAL = 432, // Vertical Decimation - vertical sub-sampling of the image - reduces the vertical resolution of the image by the specified vertical decimation factor. CV_CAP_PROP_XI_DECIMATION_VERTICAL = 432, // Vertical Decimation - vertical sub-sampling of the image - reduces the vertical resolution of the image by the specified vertical decimation factor.
CV_CAP_PROP_XI_DECIMATION_HORIZONTAL = 433, // Horizontal Decimation - horizontal sub-sampling of the image - reduces the horizontal resolution of the image by the specified vertical decimation factor. CV_CAP_PROP_XI_DECIMATION_HORIZONTAL = 433, // Horizontal Decimation - horizontal sub-sampling of the image - reduces the horizontal resolution of the image by the specified vertical decimation factor.
CV_CAP_PROP_XI_DECIMATION_PATTERN = 434, // Decimation pattern type. CV_CAP_PROP_XI_DECIMATION_PATTERN = 434, // Decimation pattern type.
CV_CAP_PROP_XI_TEST_PATTERN_GENERATOR_SELECTOR = 587, // Selects which test pattern generator is controlled by the TestPattern feature.
CV_CAP_PROP_XI_TEST_PATTERN = 588, // Selects which test pattern type is generated by the selected generator.
CV_CAP_PROP_XI_IMAGE_DATA_FORMAT = 435, // Output data format. CV_CAP_PROP_XI_IMAGE_DATA_FORMAT = 435, // Output data format.
CV_CAP_PROP_XI_SHUTTER_TYPE = 436, // Change sensor shutter type(CMOS sensor). CV_CAP_PROP_XI_SHUTTER_TYPE = 436, // Change sensor shutter type(CMOS sensor).
CV_CAP_PROP_XI_SENSOR_TAPS = 437, // Number of taps CV_CAP_PROP_XI_SENSOR_TAPS = 437, // Number of taps
...@@ -287,6 +289,8 @@ enum ...@@ -287,6 +289,8 @@ enum
CV_CAP_PROP_XI_WB_KB = 450, // White balance blue coefficient CV_CAP_PROP_XI_WB_KB = 450, // White balance blue coefficient
CV_CAP_PROP_XI_WIDTH = 451, // Width of the Image provided by the device (in pixels). CV_CAP_PROP_XI_WIDTH = 451, // Width of the Image provided by the device (in pixels).
CV_CAP_PROP_XI_HEIGHT = 452, // Height of the Image provided by the device (in pixels). CV_CAP_PROP_XI_HEIGHT = 452, // Height of the Image provided by the device (in pixels).
CV_CAP_PROP_XI_REGION_SELECTOR = 589, // Selects Region in Multiple ROI which parameters are set by width, height, ... ,region mode
CV_CAP_PROP_XI_REGION_MODE = 595, // Activates/deactivates Region selected by Region Selector
CV_CAP_PROP_XI_LIMIT_BANDWIDTH = 459, // Set/get bandwidth(datarate)(in Megabits) CV_CAP_PROP_XI_LIMIT_BANDWIDTH = 459, // Set/get bandwidth(datarate)(in Megabits)
CV_CAP_PROP_XI_SENSOR_DATA_BIT_DEPTH = 460, // Sensor output data bit depth. CV_CAP_PROP_XI_SENSOR_DATA_BIT_DEPTH = 460, // Sensor output data bit depth.
CV_CAP_PROP_XI_OUTPUT_DATA_BIT_DEPTH = 461, // Device output data bit depth. CV_CAP_PROP_XI_OUTPUT_DATA_BIT_DEPTH = 461, // Device output data bit depth.
...@@ -298,6 +302,7 @@ enum ...@@ -298,6 +302,7 @@ enum
CV_CAP_PROP_XI_TARGET_TEMP = 467, // Set sensor target temperature for cooling. CV_CAP_PROP_XI_TARGET_TEMP = 467, // Set sensor target temperature for cooling.
CV_CAP_PROP_XI_CHIP_TEMP = 468, // Camera sensor temperature CV_CAP_PROP_XI_CHIP_TEMP = 468, // Camera sensor temperature
CV_CAP_PROP_XI_HOUS_TEMP = 469, // Camera housing tepmerature CV_CAP_PROP_XI_HOUS_TEMP = 469, // Camera housing tepmerature
CV_CAP_PROP_XI_HOUS_BACK_SIDE_TEMP = 590, // Camera housing back side tepmerature
CV_CAP_PROP_XI_CMS = 470, // Mode of color management system. CV_CAP_PROP_XI_CMS = 470, // Mode of color management system.
CV_CAP_PROP_XI_APPLY_CMS = 471, // Enable applying of CMS profiles to xiGetImage (see XI_PRM_INPUT_CMS_PROFILE, XI_PRM_OUTPUT_CMS_PROFILE). CV_CAP_PROP_XI_APPLY_CMS = 471, // Enable applying of CMS profiles to xiGetImage (see XI_PRM_INPUT_CMS_PROFILE, XI_PRM_OUTPUT_CMS_PROFILE).
CV_CAP_PROP_XI_IMAGE_IS_COLOR = 474, // Returns 1 for color cameras. CV_CAP_PROP_XI_IMAGE_IS_COLOR = 474, // Returns 1 for color cameras.
...@@ -365,6 +370,7 @@ enum ...@@ -365,6 +370,7 @@ enum
CV_CAP_PROP_XI_RECENT_FRAME = 553, // GetImage returns most recent frame CV_CAP_PROP_XI_RECENT_FRAME = 553, // GetImage returns most recent frame
CV_CAP_PROP_XI_DEVICE_RESET = 554, // Resets the camera to default state. CV_CAP_PROP_XI_DEVICE_RESET = 554, // Resets the camera to default state.
CV_CAP_PROP_XI_COLUMN_FPN_CORRECTION = 555, // Correction of column FPN CV_CAP_PROP_XI_COLUMN_FPN_CORRECTION = 555, // Correction of column FPN
CV_CAP_PROP_XI_ROW_FPN_CORRECTION = 591, // Correction of row FPN
CV_CAP_PROP_XI_SENSOR_MODE = 558, // Current sensor mode. Allows to select sensor mode by one integer. Setting of this parameter affects: image dimensions and downsampling. CV_CAP_PROP_XI_SENSOR_MODE = 558, // Current sensor mode. Allows to select sensor mode by one integer. Setting of this parameter affects: image dimensions and downsampling.
CV_CAP_PROP_XI_HDR = 559, // Enable High Dynamic Range feature. CV_CAP_PROP_XI_HDR = 559, // Enable High Dynamic Range feature.
CV_CAP_PROP_XI_HDR_KNEEPOINT_COUNT = 560, // The number of kneepoints in the PWLR. CV_CAP_PROP_XI_HDR_KNEEPOINT_COUNT = 560, // The number of kneepoints in the PWLR.
...@@ -376,6 +382,8 @@ enum ...@@ -376,6 +382,8 @@ enum
CV_CAP_PROP_XI_HW_REVISION = 571, // Returns hardware revision number. CV_CAP_PROP_XI_HW_REVISION = 571, // Returns hardware revision number.
CV_CAP_PROP_XI_DEBUG_LEVEL = 572, // Set debug level CV_CAP_PROP_XI_DEBUG_LEVEL = 572, // Set debug level
CV_CAP_PROP_XI_AUTO_BANDWIDTH_CALCULATION = 573, // Automatic bandwidth calculation, CV_CAP_PROP_XI_AUTO_BANDWIDTH_CALCULATION = 573, // Automatic bandwidth calculation,
CV_CAP_PROP_XI_FFS_FILE_ID = 594, // File number.
CV_CAP_PROP_XI_FFS_FILE_SIZE = 580, // Size of file.
CV_CAP_PROP_XI_FREE_FFS_SIZE = 581, // Size of free camera FFS. CV_CAP_PROP_XI_FREE_FFS_SIZE = 581, // Size of free camera FFS.
CV_CAP_PROP_XI_USED_FFS_SIZE = 582, // Size of used camera FFS. CV_CAP_PROP_XI_USED_FFS_SIZE = 582, // Size of used camera FFS.
CV_CAP_PROP_XI_FFS_ACCESS_KEY = 583, // Setting of key enables file operations on some cameras. CV_CAP_PROP_XI_FFS_ACCESS_KEY = 583, // Setting of key enables file operations on some cameras.
......
...@@ -399,6 +399,16 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value ) ...@@ -399,6 +399,16 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value )
value_type = xiTypeEnum; value_type = xiTypeEnum;
doAcqReset = true; doAcqReset = true;
break; break;
case CV_CAP_PROP_XI_TEST_PATTERN_GENERATOR_SELECTOR:
ximea_param = "test_pattern_generator_selector";
value_type = xiTypeEnum;
doAcqReset = true;
break;
case CV_CAP_PROP_XI_TEST_PATTERN:
ximea_param = "test_pattern";
value_type = xiTypeEnum;
doAcqReset = true;
break;
case CV_CAP_PROP_XI_IMAGE_DATA_FORMAT: case CV_CAP_PROP_XI_IMAGE_DATA_FORMAT:
ximea_param = "imgdataformat"; ximea_param = "imgdataformat";
value_type = xiTypeEnum; value_type = xiTypeEnum;
...@@ -478,6 +488,16 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value ) ...@@ -478,6 +488,16 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value )
value_type = xiTypeInteger; value_type = xiTypeInteger;
doAcqReset = true; doAcqReset = true;
break; break;
case CV_CAP_PROP_XI_REGION_SELECTOR :
ximea_param = "region_selector";
value_type = xiTypeInteger;
doAcqReset = true;
break;
case CV_CAP_PROP_XI_REGION_MODE :
ximea_param = "region_mode";
value_type = xiTypeInteger;
doAcqReset = true;
break;
case CV_CAP_PROP_XI_EXP_PRIORITY: case CV_CAP_PROP_XI_EXP_PRIORITY:
ximea_param = "exp_priority"; ximea_param = "exp_priority";
value_type = xiTypeFloat; value_type = xiTypeFloat;
...@@ -544,6 +564,10 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value ) ...@@ -544,6 +564,10 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value )
ximea_param = "hous_temp"; ximea_param = "hous_temp";
value_type = xiTypeFloat; value_type = xiTypeFloat;
break; break;
case CV_CAP_PROP_XI_HOUS_BACK_SIDE_TEMP:
ximea_param = "hous_back_side_temp";
value_type = xiTypeFloat;
break;
case CV_CAP_PROP_XI_CMS: case CV_CAP_PROP_XI_CMS:
ximea_param = "cms"; ximea_param = "cms";
value_type = xiTypeEnum; value_type = xiTypeEnum;
...@@ -820,22 +844,27 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value ) ...@@ -820,22 +844,27 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value )
case CV_CAP_PROP_XI_ACQ_BUFFER_SIZE: case CV_CAP_PROP_XI_ACQ_BUFFER_SIZE:
ximea_param = "acq_buffer_size"; ximea_param = "acq_buffer_size";
value_type = xiTypeInteger; value_type = xiTypeInteger;
doAcqReset = true;
break; break;
case CV_CAP_PROP_XI_ACQ_BUFFER_SIZE_UNIT: case CV_CAP_PROP_XI_ACQ_BUFFER_SIZE_UNIT:
ximea_param = "acq_buffer_size_unit"; ximea_param = "acq_buffer_size_unit";
value_type = xiTypeInteger; value_type = xiTypeInteger;
doAcqReset = true;
break; break;
case CV_CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_SIZE: case CV_CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_SIZE:
ximea_param = "acq_transport_buffer_size"; ximea_param = "acq_transport_buffer_size";
value_type = xiTypeInteger; value_type = xiTypeInteger;
doAcqReset = true;
break; break;
case CV_CAP_PROP_XI_BUFFERS_QUEUE_SIZE: case CV_CAP_PROP_XI_BUFFERS_QUEUE_SIZE:
ximea_param = "buffers_queue_size"; ximea_param = "buffers_queue_size";
value_type = xiTypeInteger; value_type = xiTypeInteger;
doAcqReset = true;
break; break;
case CV_CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_COMMIT: case CV_CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_COMMIT:
ximea_param = "acq_transport_buffer_commit"; ximea_param = "acq_transport_buffer_commit";
value_type = xiTypeInteger; value_type = xiTypeInteger;
doAcqReset = true;
break; break;
case CV_CAP_PROP_XI_RECENT_FRAME: case CV_CAP_PROP_XI_RECENT_FRAME:
ximea_param = "recent_frame"; ximea_param = "recent_frame";
...@@ -850,6 +879,10 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value ) ...@@ -850,6 +879,10 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value )
ximea_param = "column_fpn_correction"; ximea_param = "column_fpn_correction";
value_type = xiTypeEnum; value_type = xiTypeEnum;
break; break;
case CV_CAP_PROP_XI_ROW_FPN_CORRECTION:
ximea_param = "row_fpn_correction";
value_type = xiTypeEnum;
break;
case CV_CAP_PROP_XI_SENSOR_MODE: case CV_CAP_PROP_XI_SENSOR_MODE:
ximea_param = "sensor_mode"; ximea_param = "sensor_mode";
value_type = xiTypeEnum; value_type = xiTypeEnum;
...@@ -894,6 +927,14 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value ) ...@@ -894,6 +927,14 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value )
ximea_param = "auto_bandwidth_calculation"; ximea_param = "auto_bandwidth_calculation";
value_type = xiTypeBoolean; value_type = xiTypeBoolean;
break; break;
case CV_CAP_PROP_XI_FFS_FILE_ID:
ximea_param = "ffs_file_id";
value_type = xiTypeInteger;
break;
case CV_CAP_PROP_XI_FFS_FILE_SIZE:
ximea_param = "ffs_file_size";
value_type = xiTypeInteger;
break;
case CV_CAP_PROP_XI_FREE_FFS_SIZE: case CV_CAP_PROP_XI_FREE_FFS_SIZE:
ximea_param = "free_ffs_size"; ximea_param = "free_ffs_size";
value_type = xiTypeInteger; value_type = xiTypeInteger;
...@@ -1042,6 +1083,14 @@ double CvCaptureCAM_XIMEA::getProperty( int property_id ) const ...@@ -1042,6 +1083,14 @@ double CvCaptureCAM_XIMEA::getProperty( int property_id ) const
ximea_param = "decimation_pattern"; ximea_param = "decimation_pattern";
value_type = xiTypeEnum; value_type = xiTypeEnum;
break; break;
case CV_CAP_PROP_XI_TEST_PATTERN_GENERATOR_SELECTOR:
ximea_param = "test_pattern_generator_selector";
value_type = xiTypeEnum;
break;
case CV_CAP_PROP_XI_TEST_PATTERN:
ximea_param = "test_pattern";
value_type = xiTypeEnum;
break;
case CV_CAP_PROP_XI_IMAGE_DATA_FORMAT: case CV_CAP_PROP_XI_IMAGE_DATA_FORMAT:
ximea_param = "imgdataformat"; ximea_param = "imgdataformat";
value_type = xiTypeEnum; value_type = xiTypeEnum;
...@@ -1114,6 +1163,14 @@ double CvCaptureCAM_XIMEA::getProperty( int property_id ) const ...@@ -1114,6 +1163,14 @@ double CvCaptureCAM_XIMEA::getProperty( int property_id ) const
ximea_param = "offsetY"; ximea_param = "offsetY";
value_type = xiTypeInteger; value_type = xiTypeInteger;
break; break;
case CV_CAP_PROP_XI_REGION_SELECTOR :
ximea_param = "region_selector";
value_type = xiTypeInteger;
break;
case CV_CAP_PROP_XI_REGION_MODE :
ximea_param = "region_mode";
value_type = xiTypeInteger;
break;
case CV_CAP_PROP_XI_EXP_PRIORITY: case CV_CAP_PROP_XI_EXP_PRIORITY:
ximea_param = "exp_priority"; ximea_param = "exp_priority";
value_type = xiTypeFloat; value_type = xiTypeFloat;
...@@ -1174,6 +1231,10 @@ double CvCaptureCAM_XIMEA::getProperty( int property_id ) const ...@@ -1174,6 +1231,10 @@ double CvCaptureCAM_XIMEA::getProperty( int property_id ) const
ximea_param = "hous_temp"; ximea_param = "hous_temp";
value_type = xiTypeFloat; value_type = xiTypeFloat;
break; break;
case CV_CAP_PROP_XI_HOUS_BACK_SIDE_TEMP:
ximea_param = "hous_back_side_temp";
value_type = xiTypeFloat;
break;
case CV_CAP_PROP_XI_CMS: case CV_CAP_PROP_XI_CMS:
ximea_param = "cms"; ximea_param = "cms";
value_type = xiTypeEnum; value_type = xiTypeEnum;
...@@ -1478,6 +1539,10 @@ double CvCaptureCAM_XIMEA::getProperty( int property_id ) const ...@@ -1478,6 +1539,10 @@ double CvCaptureCAM_XIMEA::getProperty( int property_id ) const
ximea_param = "column_fpn_correction"; ximea_param = "column_fpn_correction";
value_type = xiTypeEnum; value_type = xiTypeEnum;
break; break;
case CV_CAP_PROP_XI_ROW_FPN_CORRECTION:
ximea_param = "row_fpn_correction";
value_type = xiTypeEnum;
break;
case CV_CAP_PROP_XI_SENSOR_MODE: case CV_CAP_PROP_XI_SENSOR_MODE:
ximea_param = "sensor_mode"; ximea_param = "sensor_mode";
value_type = xiTypeEnum; value_type = xiTypeEnum;
...@@ -1522,6 +1587,14 @@ double CvCaptureCAM_XIMEA::getProperty( int property_id ) const ...@@ -1522,6 +1587,14 @@ double CvCaptureCAM_XIMEA::getProperty( int property_id ) const
ximea_param = "auto_bandwidth_calculation"; ximea_param = "auto_bandwidth_calculation";
value_type = xiTypeBoolean; value_type = xiTypeBoolean;
break; break;
case CV_CAP_PROP_XI_FFS_FILE_ID:
ximea_param = "ffs_file_id";
value_type = xiTypeInteger;
break;
case CV_CAP_PROP_XI_FFS_FILE_SIZE:
ximea_param = "ffs_file_size";
value_type = xiTypeInteger;
break;
case CV_CAP_PROP_XI_FREE_FFS_SIZE: case CV_CAP_PROP_XI_FREE_FFS_SIZE:
ximea_param = "free_ffs_size"; ximea_param = "free_ffs_size";
value_type = xiTypeInteger; value_type = xiTypeInteger;
...@@ -1640,6 +1713,7 @@ void CvCaptureCAM_XIMEA::errMsg(const char* msg, int errNum) const ...@@ -1640,6 +1713,7 @@ void CvCaptureCAM_XIMEA::errMsg(const char* msg, int errNum) const
case XI_BUFFER_SIZE_TOO_SMALL : error_message = "Buffer provided by user is too small"; break; case XI_BUFFER_SIZE_TOO_SMALL : error_message = "Buffer provided by user is too small"; break;
case XI_COULDNT_INIT_PROCESSOR : error_message = "Couldnt initialize processor."; break; case XI_COULDNT_INIT_PROCESSOR : error_message = "Couldnt initialize processor."; break;
case XI_NOT_INITIALIZED : error_message = "The object/module/procedure/process being referred to has not been started."; break; case XI_NOT_INITIALIZED : error_message = "The object/module/procedure/process being referred to has not been started."; break;
case XI_RESOURCE_NOT_FOUND : error_message = "Resource not found(could be processor, file, item..)."; break;
case XI_UNKNOWN_PARAM : error_message = "Unknown parameter"; break; case XI_UNKNOWN_PARAM : error_message = "Unknown parameter"; break;
case XI_WRONG_PARAM_VALUE : error_message = "Wrong parameter value"; break; case XI_WRONG_PARAM_VALUE : error_message = "Wrong parameter value"; break;
case XI_WRONG_PARAM_TYPE : error_message = "Wrong parameter type"; break; case XI_WRONG_PARAM_TYPE : error_message = "Wrong parameter type"; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment