diff --git a/modules/videoio/src/cap_ueye.cpp b/modules/videoio/src/cap_ueye.cpp index 7b6d260ebc..c3e0b68103 100644 --- a/modules/videoio/src/cap_ueye.cpp +++ b/modules/videoio/src/cap_ueye.cpp @@ -212,9 +212,12 @@ bool VideoCapture_uEye::setProperty(int property_id, double value) ASSERT_UEYE(is_Exposure(cam_id, IS_EXPOSURE_CMD_SET_EXPOSURE, (void*)&value, sizeof(value))); break; case CAP_PROP_GAIN: - ASSERT_UEYE(is_SetHardwareGain(cam_id, static_cast(value), IS_IGNORE_PARAMETER, IS_IGNORE_PARAMETER, IS_IGNORE_PARAMETER)); + { + int master = std::min(100, std::max(0, static_cast(value))); + ASSERT_UEYE(is_SetHardwareGain(cam_id, master, IS_IGNORE_PARAMETER, IS_IGNORE_PARAMETER, IS_IGNORE_PARAMETER)); break; } + } if(set_format) { set_matching_format(cam_id, sensor_info, width, height);