XIMEA adapter update

- replaced m3api/m3apiX64 binaries with latest xiapi32/xiapi64 to
support latest camera models
- added new parameter definitions to videoio_c.h and
SetProperty/GetProperty calls
- added acquisition resetting for specific parmateters in SetProperty
call
- added new error return value evaluators
pull/5635/head
Marian Zajko 9 years ago
parent b3ac274617
commit 691fb1ffae
  1. 4
      modules/videoio/CMakeLists.txt
  2. 165
      modules/videoio/include/opencv2/videoio/videoio_c.h
  3. 1539
      modules/videoio/src/cap_ximea.cpp

@ -126,11 +126,11 @@ if(HAVE_XIMEA)
link_directories("${XIMEA_LIBRARY_DIR}")
endif()
if(WIN32 AND X86_64)
list(APPEND VIDEOIO_LIBRARIES m3apiX64)
list(APPEND VIDEOIO_LIBRARIES xiapi64)
elseif(APPLE)
list(APPEND VIDEOIO_LIBRARIES "-framework m3api")
else()
list(APPEND VIDEOIO_LIBRARIES m3api)
list(APPEND VIDEOIO_LIBRARIES xiapi32)
endif()
endif(HAVE_XIMEA)

@ -239,28 +239,149 @@ enum
CV_CAP_PROP_PVAPI_BINNINGY = 305, // Vertical binning factor
CV_CAP_PROP_PVAPI_PIXELFORMAT = 306, // Pixel format
// 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_DATA_FORMAT = 401, // Output data format.
CV_CAP_PROP_XI_OFFSET_X = 402, // Horizontal offset from the origin to the area of interest (in pixels).
CV_CAP_PROP_XI_OFFSET_Y = 403, // Vertical offset from the origin to the area of interest (in pixels).
CV_CAP_PROP_XI_TRG_SOURCE = 404, // Defines source of trigger.
CV_CAP_PROP_XI_TRG_SOFTWARE = 405, // Generates an internal trigger. PRM_TRG_SOURCE must be set to TRG_SOFTWARE.
CV_CAP_PROP_XI_GPI_SELECTOR = 406, // Selects general purpose input
CV_CAP_PROP_XI_GPI_MODE = 407, // Set general purpose input mode
CV_CAP_PROP_XI_GPI_LEVEL = 408, // Get general purpose level
CV_CAP_PROP_XI_GPO_SELECTOR = 409, // Selects general purpose output
CV_CAP_PROP_XI_GPO_MODE = 410, // Set general purpose output mode
CV_CAP_PROP_XI_LED_SELECTOR = 411, // Selects camera signalling LED
CV_CAP_PROP_XI_LED_MODE = 412, // Define camera signalling LED functionality
CV_CAP_PROP_XI_MANUAL_WB = 413, // Calculates White Balance(must be called during acquisition)
CV_CAP_PROP_XI_AUTO_WB = 414, // Automatic white balance
CV_CAP_PROP_XI_AEAG = 415, // Automatic exposure/gain
CV_CAP_PROP_XI_EXP_PRIORITY = 416, // Exposure priority (0.5 - exposure 50%, gain 50%).
CV_CAP_PROP_XI_AE_MAX_LIMIT = 417, // Maximum limit of exposure in AEAG procedure
CV_CAP_PROP_XI_AG_MAX_LIMIT = 418, // Maximum limit of gain in AEAG procedure
CV_CAP_PROP_XI_AEAG_LEVEL = 419, // Average intensity of output signal AEAG should achieve(in %)
CV_CAP_PROP_XI_TIMEOUT = 420, // Image capture timeout in milliseconds
// Properties of cameras available through XIMEA SDK interface
CV_CAP_PROP_XI_TIMEOUT = 400, // Time interval required to wait for the image (in milliseconds).
CV_CAP_PROP_XI_EXPOSURE = 401, //Exposure time in microseconds
CV_CAP_PROP_XI_EXPOSURE_BURST_COUNT = 402, //Sets the number of times of exposure in one frame.
CV_CAP_PROP_XI_GAIN_SELECTOR = 403, //Gain selector for parameter Gain allows to select different type of gains.
CV_CAP_PROP_XI_GAIN = 404, //Gain in dB
CV_CAP_PROP_XI_DOWNSAMPLING = 405, //Change image resolution by binning or skipping.
CV_CAP_PROP_XI_DOWNSAMPLING_TYPE = 406, //Change image downsampling type.
CV_CAP_PROP_XI_BINNING_SELECTOR = 407, //Binning engine selector.
CV_CAP_PROP_XI_BINNING_VERTICAL = 408, //Vertical Binning - number of vertical photo-sensitive cells to combine together.
CV_CAP_PROP_XI_BINNING_HORIZONTAL = 409, //Horizontal Binning - number of horizontal photo-sensitive cells to combine together.
CV_CAP_PROP_XI_BINNING_PATTERN = 410, //Binning pattern type.
CV_CAP_PROP_XI_DECIMATION_SELECTOR = 411, //Decimation engine selector.
CV_CAP_PROP_XI_DECIMATION_VERTICAL = 412, //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 = 413, //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 = 414, //Decimation pattern type.
CV_CAP_PROP_XI_IMAGE_DATA_FORMAT = 415, //Output data format.
CV_CAP_PROP_XI_SHUTTER_TYPE = 416, //Change sensor shutter type(CMOS sensor).
CV_CAP_PROP_XI_SENSOR_TAPS = 417, //Number of taps
CV_CAP_PROP_XI_AEAG = 418, //Automatic exposure/gain
CV_CAP_PROP_XI_AEAG_ROI_OFFSET_X = 419, //Automatic exposure/gain ROI offset X
CV_CAP_PROP_XI_AEAG_ROI_OFFSET_Y = 420, //Automatic exposure/gain ROI offset Y
CV_CAP_PROP_XI_AEAG_ROI_WIDTH = 421, //Automatic exposure/gain ROI Width
CV_CAP_PROP_XI_AEAG_ROI_HEIGHT = 422, //Automatic exposure/gain ROI Height
CV_CAP_PROP_XI_BPC = 425, //Correction of bad pixels
CV_CAP_PROP_XI_AUTO_WB = 426, //Automatic white balance
CV_CAP_PROP_XI_MANUAL_WB = 427, //Calculates White Balance(xiGetImage function must be called)
CV_CAP_PROP_XI_WB_KR = 428, //White balance red coefficient
CV_CAP_PROP_XI_WB_KG = 429, //White balance green coefficient
CV_CAP_PROP_XI_WB_KB = 430, //White balance blue coefficient
CV_CAP_PROP_XI_WIDTH = 431, //Width of the Image provided by the device (in pixels).
CV_CAP_PROP_XI_HEIGHT = 432, //Height of the Image provided by the device (in pixels).
CV_CAP_PROP_XI_OFFSET_X = 433, //Horizontal offset from the origin to the area of interest (in pixels).
CV_CAP_PROP_XI_OFFSET_Y = 434, //Vertical offset from the origin to the area of interest (in pixels).
CV_CAP_PROP_XI_EXP_PRIORITY = 435, //Exposure priority (0.8 - exposure 80%, gain 20%).
CV_CAP_PROP_XI_AG_MAX_LIMIT = 436, //Maximum limit of gain in AEAG procedure
CV_CAP_PROP_XI_AE_MAX_LIMIT = 437, //Maximum time (us) used for exposure in AEAG procedure
CV_CAP_PROP_XI_AEAG_LEVEL = 438, //Average intensity of output signal AEAG should achieve(in %)
CV_CAP_PROP_XI_LIMIT_BANDWIDTH = 439, //Set/get bandwidth(datarate)(in Megabits)
CV_CAP_PROP_XI_SENSOR_DATA_BIT_DEPTH = 440, //Sensor output data bit depth.
CV_CAP_PROP_XI_OUTPUT_DATA_BIT_DEPTH = 441, //Device output data bit depth.
CV_CAP_PROP_XI_IMAGE_DATA_BIT_DEPTH = 442, //bitdepth of data returned by function xiGetImage
CV_CAP_PROP_XI_OUTPUT_DATA_PACKING = 443, //Device output data packing (or grouping) enabled. Packing could be enabled if output_data_bit_depth > 8 and packing capability is available.
CV_CAP_PROP_XI_OUTPUT_DATA_PACKING_TYPE = 444, //Data packing type. Some cameras supports only specific packing type.
CV_CAP_PROP_XI_IS_COOLED = 445, //Returns 1 for cameras that support cooling.
CV_CAP_PROP_XI_COOLING = 446, //Start camera cooling.
CV_CAP_PROP_XI_TARGET_TEMP = 447, //Set sensor target temperature for cooling.
CV_CAP_PROP_XI_CHIP_TEMP = 448, //Camera sensor temperature
CV_CAP_PROP_XI_HOUS_TEMP = 449, //Camera housing tepmerature
CV_CAP_PROP_XI_CMS = 450, //Mode of color management system.
CV_CAP_PROP_XI_APPLY_CMS = 451, //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 = 454, //Returns 1 for color cameras.
CV_CAP_PROP_XI_COLOR_FILTER_ARRAY = 455, //Returns color filter array type of RAW data.
CV_CAP_PROP_XI_GAMMAY = 456, //Luminosity gamma
CV_CAP_PROP_XI_GAMMAC = 457, //Chromaticity gamma
CV_CAP_PROP_XI_SHARPNESS = 458, //Sharpness Strenght
CV_CAP_PROP_XI_CC_MATRIX_00 = 459, //Color Correction Matrix element [0][0]
CV_CAP_PROP_XI_CC_MATRIX_01 = 460, //Color Correction Matrix element [0][1]
CV_CAP_PROP_XI_CC_MATRIX_02 = 461, //Color Correction Matrix element [0][2]
CV_CAP_PROP_XI_CC_MATRIX_03 = 462, //Color Correction Matrix element [0][3]
CV_CAP_PROP_XI_CC_MATRIX_10 = 463, //Color Correction Matrix element [1][0]
CV_CAP_PROP_XI_CC_MATRIX_11 = 464, //Color Correction Matrix element [1][1]
CV_CAP_PROP_XI_CC_MATRIX_12 = 465, //Color Correction Matrix element [1][2]
CV_CAP_PROP_XI_CC_MATRIX_13 = 466, //Color Correction Matrix element [1][3]
CV_CAP_PROP_XI_CC_MATRIX_20 = 467, //Color Correction Matrix element [2][0]
CV_CAP_PROP_XI_CC_MATRIX_21 = 468, //Color Correction Matrix element [2][1]
CV_CAP_PROP_XI_CC_MATRIX_22 = 469, //Color Correction Matrix element [2][2]
CV_CAP_PROP_XI_CC_MATRIX_23 = 470, //Color Correction Matrix element [2][3]
CV_CAP_PROP_XI_CC_MATRIX_30 = 471, //Color Correction Matrix element [3][0]
CV_CAP_PROP_XI_CC_MATRIX_31 = 472, //Color Correction Matrix element [3][1]
CV_CAP_PROP_XI_CC_MATRIX_32 = 473, //Color Correction Matrix element [3][2]
CV_CAP_PROP_XI_CC_MATRIX_33 = 474, //Color Correction Matrix element [3][3]
CV_CAP_PROP_XI_DEFAULT_CC_MATRIX = 475, //Set default Color Correction Matrix
CV_CAP_PROP_XI_TRG_SOURCE = 476, //Defines source of trigger.
CV_CAP_PROP_XI_TRG_SOFTWARE = 477, //Generates an internal trigger. XI_PRM_TRG_SOURCE must be set to TRG_SOFTWARE.
CV_CAP_PROP_XI_TRG_SELECTOR = 478, //Selects the type of trigger.
CV_CAP_PROP_XI_ACQ_FRAME_BURST_COUNT = 479, //Sets number of frames acquired by burst. This burst is used only if trigger is set to FrameBurstStart
CV_CAP_PROP_XI_GPI_SELECTOR = 480, //Selects GPI
CV_CAP_PROP_XI_GPI_MODE = 481, //Defines GPI functionality
CV_CAP_PROP_XI_GPI_LEVEL = 482, //GPI level
CV_CAP_PROP_XI_GPO_SELECTOR = 483, //Selects GPO
CV_CAP_PROP_XI_GPO_MODE = 484, //Defines GPO functionality
CV_CAP_PROP_XI_LED_SELECTOR = 485, //Selects LED
CV_CAP_PROP_XI_LED_MODE = 486, //Defines LED functionality
CV_CAP_PROP_XI_DEBOUNCE_EN = 487, //Enable/Disable debounce to selected GPI
CV_CAP_PROP_XI_DEBOUNCE_T0 = 488, //Debounce time (x * 10us)
CV_CAP_PROP_XI_DEBOUNCE_T1 = 489, //Debounce time (x * 10us)
CV_CAP_PROP_XI_DEBOUNCE_POL = 490, //Debounce polarity (pol = 1 t0 - falling edge, t1 - rising edge)
CV_CAP_PROP_XI_LENS_MODE = 491, //Status of lens control interface. This shall be set to XI_ON before any Lens operations.
CV_CAP_PROP_XI_LENS_APERTURE_VALUE = 492, //Current lens aperture value in stops. Examples: 2.8, 4, 5.6, 8, 11
CV_CAP_PROP_XI_LENS_FOCUS_MOVEMENT_VALUE = 493, //Lens current focus movement value to be used by XI_PRM_LENS_FOCUS_MOVE in motor steps.
CV_CAP_PROP_XI_LENS_FOCUS_MOVE = 494, //Moves lens focus motor by steps set in XI_PRM_LENS_FOCUS_MOVEMENT_VALUE.
CV_CAP_PROP_XI_LENS_FOCUS_DISTANCE = 495, //Lens focus distance in cm.
CV_CAP_PROP_XI_LENS_FOCAL_LENGTH = 496, //Lens focal distance in mm.
CV_CAP_PROP_XI_LENS_FEATURE_SELECTOR = 497, //Selects the current feature which is accessible by XI_PRM_LENS_FEATURE.
CV_CAP_PROP_XI_LENS_FEATURE = 498, //Allows access to lens feature value currently selected by XI_PRM_LENS_FEATURE_SELECTOR.
CV_CAP_PROP_XI_DEVICE_MODEL_ID = 501, //Return device model id
CV_CAP_PROP_XI_DEVICE_SN = 502, //Return device serial number
CV_CAP_PROP_XI_IMAGE_DATA_FORMAT_RGB32_ALPHA = 509, //The alpha channel of RGB32 output image format.
CV_CAP_PROP_XI_IMAGE_PAYLOAD_SIZE = 510, //Buffer size in bytes sufficient for output image returned by xiGetImage
CV_CAP_PROP_XI_TRANSPORT_PIXEL_FORMAT = 511, //Current format of pixels on transport layer.
CV_CAP_PROP_XI_SENSOR_CLOCK_FREQ_HZ = 512, //Sensor clock frequency in Hz.
CV_CAP_PROP_XI_SENSOR_CLOCK_FREQ_INDEX = 513, //Sensor clock frequency index. Sensor with selected frequencies have possibility to set the frequency only by this index.
CV_CAP_PROP_XI_SENSOR_OUTPUT_CHANNEL_COUNT = 514, //Number of output channels from sensor used for data transfer.
CV_CAP_PROP_XI_FRAMERATE = 515, //Define framerate in Hz
CV_CAP_PROP_XI_COUNTER_SELECTOR = 516, //Select counter
CV_CAP_PROP_XI_COUNTER_VALUE = 517, //Counter status
CV_CAP_PROP_XI_ACQ_TIMING_MODE = 518, //Type of sensor frames timing.
CV_CAP_PROP_XI_AVAILABLE_BANDWIDTH = 519, //Calculate and return available interface bandwidth(int Megabits)
CV_CAP_PROP_XI_BUFFER_POLICY = 520, //Data move policy
CV_CAP_PROP_XI_LUT_EN = 521, //Activates LUT.
CV_CAP_PROP_XI_LUT_INDEX = 522, //Control the index (offset) of the coefficient to access in the LUT.
CV_CAP_PROP_XI_LUT_VALUE = 523, //Value at entry LUTIndex of the LUT
CV_CAP_PROP_XI_TRG_DELAY = 524, //Specifies the delay in microseconds (us) to apply after the trigger reception before activating it.
CV_CAP_PROP_XI_TS_RST_MODE = 525, //Defines how time stamp reset engine will be armed
CV_CAP_PROP_XI_TS_RST_SOURCE = 526, //Defines which source will be used for timestamp reset. Writing this parameter will trigger settings of engine (arming)
CV_CAP_PROP_XI_IS_DEVICE_EXIST = 527, //Returns 1 if camera connected and works properly.
CV_CAP_PROP_XI_ACQ_BUFFER_SIZE = 528, //Acquisition buffer size in buffer_size_unit. Default bytes.
CV_CAP_PROP_XI_ACQ_BUFFER_SIZE_UNIT = 529, //Acquisition buffer size unit in bytes. Default 1. E.g. Value 1024 means that buffer_size is in KiBytes
CV_CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_SIZE = 530, //Acquisition transport buffer size in bytes
CV_CAP_PROP_XI_BUFFERS_QUEUE_SIZE = 531, //Queue of field/frame buffers
CV_CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_COMMIT = 532, //Number of buffers to commit to low level
CV_CAP_PROP_XI_RECENT_FRAME = 533, //GetImage returns most recent frame
CV_CAP_PROP_XI_DEVICE_RESET = 534, //Resets the camera to default state.
CV_CAP_PROP_XI_COLUMN_FPN_CORRECTION = 535, //Correction of column FPN
CV_CAP_PROP_XI_SENSOR_MODE = 538, //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 = 539, //Enable High Dynamic Range feature.
CV_CAP_PROP_XI_HDR_KNEEPOINT_COUNT = 540, //The number of kneepoints in the PWLR.
CV_CAP_PROP_XI_HDR_T1 = 541, //position of first kneepoint(in % of XI_PRM_EXPOSURE)
CV_CAP_PROP_XI_HDR_T2 = 542, //position of second kneepoint (in % of XI_PRM_EXPOSURE)
CV_CAP_PROP_XI_KNEEPOINT1 = 543, //value of first kneepoint (% of sensor saturation)
CV_CAP_PROP_XI_KNEEPOINT2 = 544, //value of second kneepoint (% of sensor saturation)
CV_CAP_PROP_XI_IMAGE_BLACK_LEVEL = 545, //Last image black level counts. Can be used for Offline processing to recall it.
CV_CAP_PROP_XI_HW_REVISION = 551, //Returns hardware revision number.
CV_CAP_PROP_XI_DEBUG_LEVEL = 552, //Set debug level
CV_CAP_PROP_XI_AUTO_BANDWIDTH_CALCULATION = 553, //Automatic bandwidth calculation,
CV_CAP_PROP_XI_FREE_FFS_SIZE = 561, //Size of free camera FFS.
CV_CAP_PROP_XI_USED_FFS_SIZE = 562, //Size of used camera FFS.
CV_CAP_PROP_XI_FFS_ACCESS_KEY = 563, //Setting of key enables file operations on some cameras.
CV_CAP_PROP_XI_SENSOR_FEATURE_SELECTOR = 565, //Selects the current feature which is accessible by XI_PRM_SENSOR_FEATURE_VALUE.
CV_CAP_PROP_XI_SENSOR_FEATURE_VALUE = 566, //Allows access to sensor feature value currently selected by XI_PRM_SENSOR_FEATURE_SELECTOR.
// Properties for Android cameras
CV_CAP_PROP_ANDROID_FLASH_MODE = 8001,

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save