当前位置:首页 >> 脚本专栏

详解python中GPU版本的opencv常用方法介绍

引言

本篇是以python的视角介绍相关的函数还有自我使用中的一些问题,本想在这篇之前总结一下opencv编译的全过程,但遇到了太多坑,暂时不太想回看做过的笔记,所以这里主要总结python下GPU版本的opencv。

主要函数说明

threshold():二值化,但要指定设定阈值
blendLinear():两幅图片的线形混合
calcHist()
createBoxFilter ():创建一个规范化的2D框过滤器
canny边缘检测
createGaussianFilter():创建一个Gaussian过滤器
createLaplacianFilter():创建一个Laplacian过滤器
createLinearFilter():创建一个线形过滤器
createMorphologyFilter():形态学运算滤波器;腐蚀、开、关等操作
createSolbelFilter():创建一个solbel过滤器
createHougnCirclesDetector():创建一个霍夫原检测器
createMedianFilter():创建一个中值滤波过滤器
createTemplateMatching():模板匹配
cvtColor():颜色空间转换
dft():执行浮点矩阵的正向或逆离散傅里叶变换
drawColorDisp():颜色差异图像
equalizeHist():将灰度图像的直方图均衡化
findMinMax()
findMinMaxLoc()
flip():翻转二维矩阵
merge():用几个单通道矩阵构成一个多通道矩阵
split():将多通道矩阵分离成多个单通道矩阵
getCudaEnabledDeviceCount():获取可用的gpu数目
getDevice():返回由cuda::setDevice或默认初始化的当前设备索引
printCudaDeviceInfo()
resetDevice():显示地销毁和清理与当前进程中当前设备相关的所有资源
setDevice():设置一个device并为当前线程初始化它;如果省略次函数的调用,则在第一次CUDA使用时初始化默认设备
remap():对图像应用一般的几个变换
resize():调整一个图像大小
rotate():在原点(0,0)周围旋转一个图像,然后移动它
sum():返回矩阵元素的和

上述是在cv2.cuda下总结出来的一些可以使用的方法,因为底层是C++,并且python主要调用的是cv2.so文件,如果我们想要看到一个对象到底有什么样的作用还有一系列的使用方式,我们可以利用python的魔法方法__dir__ 与help查看:

$ dir(cv2.cuda) 
"""
['ALPHA_ATOP', 'ALPHA_ATOP_PREMUL', 'ALPHA_IN', 'ALPHA_IN_PREMUL', 'ALPHA_OUT', 'ALPHA_OUT_PREMUL', 'ALPHA_OVER', 'ALPHA_OVER_PREMUL', 'ALPHA_PLUS', 'ALPHA_PLUS_PREMUL', 'ALPHA_PREMUL', 'ALPHA_XOR', 'ALPHA_XOR_PREMUL', 'BroxOpticalFlow_create', 'COLOR_BAYER_BG2BGR_MHT', 'COLOR_BAYER_BG2GRAY_MHT', 'COLOR_BAYER_BG2RGB_MHT', 'COLOR_BAYER_GB2BGR_MHT', 'COLOR_BAYER_GB2GRAY_MHT', 'COLOR_BAYER_GB2RGB_MHT', 'COLOR_BAYER_GR2BGR_MHT', 'COLOR_BAYER_GR2GRAY_MHT', 'COLOR_BAYER_GR2RGB_MHT', 'COLOR_BAYER_RG2BGR_MHT', 'COLOR_BAYER_RG2GRAY_MHT', 'COLOR_BAYER_RG2RGB_MHT', 'COLOR_BayerBG2BGR_MHT', 'COLOR_BayerBG2GRAY_MHT', 'COLOR_BayerBG2RGB_MHT', 'COLOR_BayerGB2BGR_MHT', 'COLOR_BayerGB2GRAY_MHT', 'COLOR_BayerGB2RGB_MHT', 'COLOR_BayerGR2BGR_MHT', 'COLOR_BayerGR2GRAY_MHT', 'COLOR_BayerGR2RGB_MHT', 'COLOR_BayerRG2BGR_MHT', 'COLOR_BayerRG2GRAY_MHT', 'COLOR_BayerRG2RGB_MHT', 'CascadeClassifier_create', 'DEVICE_INFO_COMPUTE_MODE_DEFAULT', 'DEVICE_INFO_COMPUTE_MODE_EXCLUSIVE', 'DEVICE_INFO_COMPUTE_MODE_EXCLUSIVE_PROCESS', 'DEVICE_INFO_COMPUTE_MODE_PROHIBITED', 'DYNAMIC_PARALLELISM', 'DensePyrLKOpticalFlow_create', 'DescriptorMatcher_createBFMatcher', 'DeviceInfo_ComputeModeDefault', 'DeviceInfo_ComputeModeExclusive', 'DeviceInfo_ComputeModeExclusiveProcess', 'DeviceInfo_ComputeModeProhibited', 'EVENT_BLOCKING_SYNC', 'EVENT_DEFAULT', 'EVENT_DISABLE_TIMING', 'EVENT_INTERPROCESS', 'Event_BLOCKING_SYNC', 'Event_DEFAULT', 'Event_DISABLE_TIMING', 'Event_INTERPROCESS', 'Event_elapsedTime', 'FEATURE_SET_COMPUTE_10', 'FEATURE_SET_COMPUTE_11', 'FEATURE_SET_COMPUTE_12', 'FEATURE_SET_COMPUTE_13', 'FEATURE_SET_COMPUTE_20', 'FEATURE_SET_COMPUTE_21', 'FEATURE_SET_COMPUTE_30', 'FEATURE_SET_COMPUTE_32', 'FEATURE_SET_COMPUTE_35', 'FEATURE_SET_COMPUTE_50', 'FarnebackOpticalFlow_create', 'FastFeatureDetector_create', 'GLOBAL_ATOMICS', 'GpuMat_defaultAllocator', 'GpuMat_setDefaultAllocator', 'HOG_create', 'HOST_MEM_PAGE_LOCKED', 'HOST_MEM_SHARED', 'HOST_MEM_WRITE_COMBINED', 'HostMem_PAGE_LOCKED', 'HostMem_SHARED', 'HostMem_WRITE_COMBINED', 'NATIVE_DOUBLE', 'NVIDIA_OPTICAL_FLOW_1_0_NV_OF_PERF_LEVEL_FAST', 'NVIDIA_OPTICAL_FLOW_1_0_NV_OF_PERF_LEVEL_MAX', 'NVIDIA_OPTICAL_FLOW_1_0_NV_OF_PERF_LEVEL_MEDIUM', 'NVIDIA_OPTICAL_FLOW_1_0_NV_OF_PERF_LEVEL_SLOW', 'NVIDIA_OPTICAL_FLOW_1_0_NV_OF_PERF_LEVEL_UNDEFINED', 'NvidiaOpticalFlow_1_0_NV_OF_PERF_LEVEL_FAST', 'NvidiaOpticalFlow_1_0_NV_OF_PERF_LEVEL_MAX', 'NvidiaOpticalFlow_1_0_NV_OF_PERF_LEVEL_MEDIUM', 'NvidiaOpticalFlow_1_0_NV_OF_PERF_LEVEL_SLOW', 'NvidiaOpticalFlow_1_0_NV_OF_PERF_LEVEL_UNDEFINED', 'NvidiaOpticalFlow_1_0_create', 'ORB_create', 'OpticalFlowDual_TVL1_create', 'SHARED_ATOMICS', 'SURF_CUDA_ANGLE_ROW', 'SURF_CUDA_HESSIAN_ROW', 'SURF_CUDA_LAPLACIAN_ROW', 'SURF_CUDA_OCTAVE_ROW', 'SURF_CUDA_ROWS_COUNT', 'SURF_CUDA_SIZE_ROW', 'SURF_CUDA_X_ROW', 'SURF_CUDA_Y_ROW', 'SparsePyrLKOpticalFlow_create', 'StereoBeliefPropagation_estimateRecommendedParams', 'StereoConstantSpaceBP_estimateRecommendedParams', 'Stream_Null', 'TargetArchs_has', 'TargetArchs_hasBin', 'TargetArchs_hasEqualOrGreater', 'TargetArchs_hasEqualOrGreaterBin', 'TargetArchs_hasEqualOrGreaterPtx', 'TargetArchs_hasEqualOrLessPtx', 'TargetArchs_hasPtx', 'WARP_SHUFFLE_FUNCTIONS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'absSum', 'absdiff', 'add', 'addWeighted', 'alphaComp', 'bilateralFilter', 'bitwise_and', 'bitwise_not', 'bitwise_or', 'bitwise_xor', 'blendLinear', 'buildWarpAffineMaps', 'buildWarpPerspectiveMaps', 'calcAbsSum', 'calcHist', 'calcNorm', 'calcNormDiff', 'calcSqrSum', 'calcSum', 'cartToPolar', 'compare', 'copyMakeBorder', 'countNonZero', 'createBackgroundSubtractorMOG', 'createBackgroundSubtractorMOG2', 'createBoxFilter', 'createBoxMaxFilter', 'createBoxMinFilter', 'createCLAHE', 'createCannyEdgeDetector', 'createColumnSumFilter', 'createContinuous', 'createConvolution', 'createDFT', 'createDerivFilter', 'createDisparityBilateralFilter', 'createGaussianFilter', 'createGeneralizedHoughBallard', 'createGeneralizedHoughGuil', 'createGoodFeaturesToTrackDetector', 'createHarrisCorner', 'createHoughCirclesDetector', 'createHoughLinesDetector', 'createHoughSegmentDetector', 'createLaplacianFilter', 'createLinearFilter', 'createLookUpTable', 'createMedianFilter', 'createMinEigenValCorner', 'createMorphologyFilter', 'createRowSumFilter', 'createScharrFilter', 'createSeparableLinearFilter', 'createSobelFilter', 'createStereoBM', 'createStereoBeliefPropagation', 'createStereoConstantSpaceBP', 'createTemplateMatching', 'cvtColor', 'demosaicing', 'dft', 'divide', 'drawColorDisp', 'ensureSizeIsEnough', 'equalizeHist', 'evenLevels', 'exp', 'findMinMax', 'findMinMaxLoc', 'flip', 'gammaCorrection', 'gemm', 'getCudaEnabledDeviceCount', 'getDevice', 'histEven', 'histRange', 'integral', 'log', 'magnitude', 'magnitudeSqr', 'max', 'meanShiftFiltering', 'meanShiftProc', 'meanShiftSegmentation', 'meanStdDev', 'merge', 'min', 'minMax', 'minMaxLoc', 'mulAndScaleSpectrums', 'mulSpectrums', 'multiply', 'norm', 'normalize', 'phase', 'polarToCart', 'pow', 'printCudaDeviceInfo', 'printShortCudaDeviceInfo', 'pyrDown', 'pyrUp', 'rectStdDev', 'reduce', 'registerPageLocked', 'remap', 'reprojectImageTo3D', 'resetDevice', 'resize', 'rotate', 'setBufferPoolConfig', 'setBufferPoolUsage', 'setDevice', 'split', 'sqr', 'sqrIntegral', 'sqrSum', 'sqrt', 'subtract', 'sum', 'threshold', 'transpose', 'unregisterPageLocked', 'warpAffine', 'warpPerspective']
"""

$ GPU_mat = cv2.cuda_GpuMat()
$ dir(GPU_mat)
"""
['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'adjustROI', 'assignTo', 'channels', 'clone', 'col', 'colRange', 'convertTo', 'copyTo', 'create', 'defaultAllocator', 'depth', 'download', 'elemSize', 'elemSize1', 'empty', 'isContinuous', 'locateROI', 'reshape', 'row', 'rowRange', 'setDefaultAllocator', 'setTo', 'size', 'step', 'step1', 'swap', 'type', 'updateContinuityFlag', 'upload']
"""

$ dir(cv2)
"""
['', 'ACCESS_FAST', 'ACCESS_MASK', 'ACCESS_READ', 'ACCESS_RW', 'ACCESS_WRITE', 'ADAPTIVE_THRESH_GAUSSIAN_C', 'ADAPTIVE_THRESH_MEAN_C', 'AGAST_FEATURE_DETECTOR_AGAST_5_8', 'AGAST_FEATURE_DETECTOR_AGAST_7_12D', 'AGAST_FEATURE_DETECTOR_AGAST_7_12S', 'AGAST_FEATURE_DETECTOR_NONMAX_SUPPRESSION', 'AGAST_FEATURE_DETECTOR_OAST_9_16', 'AGAST_FEATURE_DETECTOR_THRESHOLD', 'AKAZE', 'AKAZE_DESCRIPTOR_KAZE', 'AKAZE_DESCRIPTOR_KAZE_UPRIGHT', 'AKAZE_DESCRIPTOR_MLDB', 'AKAZE_DESCRIPTOR_MLDB_UPRIGHT', 'AKAZE_create', 'AffineTransformer', 'AgastFeatureDetector', 'AgastFeatureDetector_AGAST_5_8', 'AgastFeatureDetector_AGAST_7_12d', 'AgastFeatureDetector_AGAST_7_12s', 'AgastFeatureDetector_NONMAX_SUPPRESSION', 'AgastFeatureDetector_OAST_9_16', 'AgastFeatureDetector_THRESHOLD', 'AgastFeatureDetector_create', 'Algorithm', 'AlignExposures', 'AlignMTB', 'AsyncArray', 'BFMatcher', 'BFMatcher_create', 'BORDER_CONSTANT', 'BORDER_DEFAULT', 'BORDER_ISOLATED', 'BORDER_REFLECT', 'BORDER_REFLECT101', 'BORDER_REFLECT_101', 'BORDER_REPLICATE', 'BORDER_TRANSPARENT', 'BORDER_WRAP', 'BOWImgDescriptorExtractor', 'BOWKMeansTrainer', 'BOWTrainer', 'BRISK', 'BRISK_create', 'BackgroundSubtractor', 'BackgroundSubtractorKNN', 'BackgroundSubtractorMOG2', 'BaseCascadeClassifier', 'CALIB_CB_ACCURACY', 'CALIB_CB_ADAPTIVE_THRESH', 'CALIB_CB_ASYMMETRIC_GRID', 'CALIB_CB_CLUSTERING', 'CALIB_CB_EXHAUSTIVE', 'CALIB_CB_FAST_CHECK', 'CALIB_CB_FILTER_QUADS', 'CALIB_CB_NORMALIZE_IMAGE', 'CALIB_CB_SYMMETRIC_GRID', 'CALIB_FIX_ASPECT_RATIO', 'CALIB_FIX_FOCAL_LENGTH', 'CALIB_FIX_INTRINSIC', 'CALIB_FIX_K1', 'CALIB_FIX_K2', 'CALIB_FIX_K3', 'CALIB_FIX_K4', 'CALIB_FIX_K5', 'CALIB_FIX_K6', 'CALIB_FIX_PRINCIPAL_POINT', 'CALIB_FIX_S1_S2_S3_S4', 'CALIB_FIX_TANGENT_DIST', 'CALIB_FIX_TAUX_TAUY', 'CALIB_HAND_EYE_ANDREFF', 'CALIB_HAND_EYE_DANIILIDIS', 'CALIB_HAND_EYE_HORAUD', 'CALIB_HAND_EYE_PARK', 'CALIB_HAND_EYE_TSAI', 'CALIB_NINTRINSIC', 'CALIB_RATIONAL_MODEL', 'CALIB_SAME_FOCAL_LENGTH', 'CALIB_THIN_PRISM_MODEL', 'CALIB_TILTED_MODEL', 'CALIB_USE_EXTRINSIC_GUESS', 'CALIB_USE_INTRINSIC_GUESS', 'CALIB_USE_LU', 'CALIB_USE_QR', 'CALIB_ZERO_DISPARITY', 'CALIB_ZERO_TANGENT_DIST', 'CAP_ANDROID', 'CAP_ANY', 'CAP_ARAVIS', 'CAP_AVFOUNDATION', 'CAP_CMU1394', 'CAP_DC1394', 'CAP_DSHOW', 'CAP_FFMPEG', 'CAP_FIREWARE', 'CAP_FIREWIRE', 'CAP_GIGANETIX', 'CAP_GPHOTO2', 'CAP_GSTREAMER', 'CAP_IEEE1394', 'CAP_IMAGES', 'CAP_INTELPERC', 'CAP_INTELPERC_DEPTH_GENERATOR', 'CAP_INTELPERC_DEPTH_MAP', 'CAP_INTELPERC_GENERATORS_MASK', 'CAP_INTELPERC_IMAGE', 'CAP_INTELPERC_IMAGE_GENERATOR', 'CAP_INTELPERC_IR_GENERATOR', 'CAP_INTELPERC_IR_MAP', 'CAP_INTELPERC_UVDEPTH_MAP', 'CAP_INTEL_MFX', 'CAP_MSMF', 'CAP_OPENCV_MJPEG', 'CAP_OPENNI', 'CAP_OPENNI2', 'CAP_OPENNI2_ASUS', 'CAP_OPENNI_ASUS', 'CAP_OPENNI_BGR_IMAGE', 'CAP_OPENNI_DEPTH_GENERATOR', 'CAP_OPENNI_DEPTH_GENERATOR_BASELINE', 'CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH', 'CAP_OPENNI_DEPTH_GENERATOR_PRESENT', 'CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION', 'CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION_ON', 'CAP_OPENNI_DEPTH_MAP', 'CAP_OPENNI_DISPARITY_MAP', 'CAP_OPENNI_DISPARITY_MAP_32F', 'CAP_OPENNI_GENERATORS_MASK', 'CAP_OPENNI_GRAY_IMAGE', 'CAP_OPENNI_IMAGE_GENERATOR', 'CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE', 'CAP_OPENNI_IMAGE_GENERATOR_PRESENT', 'CAP_OPENNI_IR_GENERATOR', 'CAP_OPENNI_IR_GENERATOR_PRESENT', 'CAP_OPENNI_IR_IMAGE', 'CAP_OPENNI_POINT_CLOUD_MAP', 'CAP_OPENNI_QVGA_30HZ', 'CAP_OPENNI_QVGA_60HZ', 'CAP_OPENNI_SXGA_15HZ', 'CAP_OPENNI_SXGA_30HZ', 'CAP_OPENNI_VALID_DEPTH_MASK', 'CAP_OPENNI_VGA_30HZ', 'CAP_PROP_APERTURE', 'CAP_PROP_AUTOFOCUS', 'CAP_PROP_AUTO_EXPOSURE', 'CAP_PROP_AUTO_WB', 'CAP_PROP_BACKEND', 'CAP_PROP_BACKLIGHT', 'CAP_PROP_BRIGHTNESS', 'CAP_PROP_BUFFERSIZE', 'CAP_PROP_CHANNEL', 'CAP_PROP_CONTRAST', 'CAP_PROP_CONVERT_RGB', 'CAP_PROP_DC1394_MAX', 'CAP_PROP_DC1394_MODE_AUTO', 'CAP_PROP_DC1394_MODE_MANUAL', 'CAP_PROP_DC1394_MODE_ONE_PUSH_AUTO', 'CAP_PROP_DC1394_OFF', 'CAP_PROP_EXPOSURE', 'CAP_PROP_EXPOSUREPROGRAM', 'CAP_PROP_FOCUS', 'CAP_PROP_FORMAT', 'CAP_PROP_FOURCC', 'CAP_PROP_FPS', 'CAP_PROP_FRAME_COUNT', 'CAP_PROP_FRAME_HEIGHT', 'CAP_PROP_FRAME_WIDTH', 'CAP_PROP_GAIN', 'CAP_PROP_GAMMA', 'CAP_PROP_GIGA_FRAME_HEIGH_MAX', 'CAP_PROP_GIGA_FRAME_OFFSET_X', 'CAP_PROP_GIGA_FRAME_OFFSET_Y', 'CAP_PROP_GIGA_FRAME_SENS_HEIGH', 'CAP_PROP_GIGA_FRAME_SENS_WIDTH', 'CAP_PROP_GIGA_FRAME_WIDTH_MAX', 'CAP_PROP_GPHOTO2_COLLECT_MSGS', 'CAP_PROP_GPHOTO2_FLUSH_MSGS', 'CAP_PROP_GPHOTO2_PREVIEW', 'CAP_PROP_GPHOTO2_RELOAD_CONFIG', 'CAP_PROP_GPHOTO2_RELOAD_ON_CHANGE', 'CAP_PROP_GPHOTO2_WIDGET_ENUMERATE', 'CAP_PROP_GSTREAMER_QUEUE_LENGTH', 'CAP_PROP_GUID', 'CAP_PROP_HUE', 'CAP_PROP_IMAGES_BASE', 'CAP_PROP_IMAGES_LAST', 'CAP_PROP_INTELPERC_DEPTH_CONFIDENCE_THRESHOLD', 'CAP_PROP_INTELPERC_DEPTH_FOCAL_LENGTH_HORZ', 'CAP_PROP_INTELPERC_DEPTH_FOCAL_LENGTH_VERT', 'CAP_PROP_INTELPERC_DEPTH_LOW_CONFIDENCE_VALUE', 'CAP_PROP_INTELPERC_DEPTH_SATURATION_VALUE', 'CAP_PROP_INTELPERC_PROFILE_COUNT', 'CAP_PROP_INTELPERC_PROFILE_IDX', 'CAP_PROP_IOS_DEVICE_EXPOSURE', 'CAP_PROP_IOS_DEVICE_FLASH', 'CAP_PROP_IOS_DEVICE_FOCUS', 'CAP_PROP_IOS_DEVICE_TORCH', 'CAP_PROP_IOS_DEVICE_WHITEBALANCE', 'CAP_PROP_IRIS', 'CAP_PROP_ISO_SPEED', 'CAP_PROP_MODE', 'CAP_PROP_MONOCHROME', 'CAP_PROP_OPENNI2_MIRROR', 'CAP_PROP_OPENNI2_SYNC', 'CAP_PROP_OPENNI_APPROX_FRAME_SYNC', 'CAP_PROP_OPENNI_BASELINE', 'CAP_PROP_OPENNI_CIRCLE_BUFFER', 'CAP_PROP_OPENNI_FOCAL_LENGTH', 'CAP_PROP_OPENNI_FRAME_MAX_DEPTH', 'CAP_PROP_OPENNI_GENERATOR_PRESENT', 'CAP_PROP_OPENNI_MAX_BUFFER_SIZE', 'CAP_PROP_OPENNI_MAX_TIME_DURATION', 'CAP_PROP_OPENNI_OUTPUT_MODE', 'CAP_PROP_OPENNI_REGISTRATION', 'CAP_PROP_OPENNI_REGISTRATION_ON', 'CAP_PROP_PAN', 'CAP_PROP_POS_AVI_RATIO', 'CAP_PROP_POS_FRAMES', 'CAP_PROP_POS_MSEC', 'CAP_PROP_PVAPI_BINNINGX', 'CAP_PROP_PVAPI_BINNINGY', 'CAP_PROP_PVAPI_DECIMATIONHORIZONTAL', 'CAP_PROP_PVAPI_DECIMATIONVERTICAL', 'CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE', 'CAP_PROP_PVAPI_MULTICASTIP', 'CAP_PROP_PVAPI_PIXELFORMAT', 'CAP_PROP_RECTIFICATION', 'CAP_PROP_ROLL', 'CAP_PROP_SAR_DEN', 'CAP_PROP_SAR_NUM', 'CAP_PROP_SATURATION', 'CAP_PROP_SETTINGS', 'CAP_PROP_SHARPNESS', 'CAP_PROP_SPEED', 'CAP_PROP_TEMPERATURE', 'CAP_PROP_TILT', 'CAP_PROP_TRIGGER', 'CAP_PROP_TRIGGER_DELAY', 'CAP_PROP_VIEWFINDER', 'CAP_PROP_WB_TEMPERATURE', 'CAP_PROP_WHITE_BALANCE_BLUE_U', 'CAP_PROP_WHITE_BALANCE_RED_V', 'CAP_PROP_XI_ACQ_BUFFER_SIZE', 'CAP_PROP_XI_ACQ_BUFFER_SIZE_UNIT', 'CAP_PROP_XI_ACQ_FRAME_BURST_COUNT', 'CAP_PROP_XI_ACQ_TIMING_MODE', 'CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_COMMIT', 'CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_SIZE', 'CAP_PROP_XI_AEAG', 'CAP_PROP_XI_AEAG_LEVEL', 'CAP_PROP_XI_AEAG_ROI_HEIGHT', 'CAP_PROP_XI_AEAG_ROI_OFFSET_X', 'CAP_PROP_XI_AEAG_ROI_OFFSET_Y', 'CAP_PROP_XI_AEAG_ROI_WIDTH', 'CAP_PROP_XI_AE_MAX_LIMIT', 'CAP_PROP_XI_AG_MAX_LIMIT', 'CAP_PROP_XI_APPLY_CMS', 'CAP_PROP_XI_AUTO_BANDWIDTH_CALCULATION', 'CAP_PROP_XI_AUTO_WB', 'CAP_PROP_XI_AVAILABLE_BANDWIDTH', 'CAP_PROP_XI_BINNING_HORIZONTAL', 'CAP_PROP_XI_BINNING_PATTERN', 'CAP_PROP_XI_BINNING_SELECTOR', 'CAP_PROP_XI_BINNING_VERTICAL', 'CAP_PROP_XI_BPC', 'CAP_PROP_XI_BUFFERS_QUEUE_SIZE', 'CAP_PROP_XI_BUFFER_POLICY', 'CAP_PROP_XI_CC_MATRIX_00', 'CAP_PROP_XI_CC_MATRIX_01', 'CAP_PROP_XI_CC_MATRIX_02', 'CAP_PROP_XI_CC_MATRIX_03', 'CAP_PROP_XI_CC_MATRIX_10', 'CAP_PROP_XI_CC_MATRIX_11', 'CAP_PROP_XI_CC_MATRIX_12', 'CAP_PROP_XI_CC_MATRIX_13', 'CAP_PROP_XI_CC_MATRIX_20', 'CAP_PROP_XI_CC_MATRIX_21', 'CAP_PROP_XI_CC_MATRIX_22', 'CAP_PROP_XI_CC_MATRIX_23', 'CAP_PROP_XI_CC_MATRIX_30', 'CAP_PROP_XI_CC_MATRIX_31', 'CAP_PROP_XI_CC_MATRIX_32', 'CAP_PROP_XI_CC_MATRIX_33', 'CAP_PROP_XI_CHIP_TEMP', 'CAP_PROP_XI_CMS', 'CAP_PROP_XI_COLOR_FILTER_ARRAY', 'CAP_PROP_XI_COLUMN_FPN_CORRECTION', 'CAP_PROP_XI_COOLING', 'CAP_PROP_XI_COUNTER_SELECTOR', 'CAP_PROP_XI_COUNTER_VALUE', 'CAP_PROP_XI_DATA_FORMAT', 'CAP_PROP_XI_DEBOUNCE_EN', 'CAP_PROP_XI_DEBOUNCE_POL', 'CAP_PROP_XI_DEBOUNCE_T0', 'CAP_PROP_XI_DEBOUNCE_T1', 'CAP_PROP_XI_DEBUG_LEVEL', 'CAP_PROP_XI_DECIMATION_HORIZONTAL', 'CAP_PROP_XI_DECIMATION_PATTERN', 'CAP_PROP_XI_DECIMATION_SELECTOR', 'CAP_PROP_XI_DECIMATION_VERTICAL', 'CAP_PROP_XI_DEFAULT_CC_MATRIX', 'CAP_PROP_XI_DEVICE_MODEL_ID', 'CAP_PROP_XI_DEVICE_RESET', 'CAP_PROP_XI_DEVICE_SN', 'CAP_PROP_XI_DOWNSAMPLING', 'CAP_PROP_XI_DOWNSAMPLING_TYPE', 'CAP_PROP_XI_EXPOSURE', 'CAP_PROP_XI_EXPOSURE_BURST_COUNT', 'CAP_PROP_XI_EXP_PRIORITY', 'CAP_PROP_XI_FFS_ACCESS_KEY', 'CAP_PROP_XI_FFS_FILE_ID', 'CAP_PROP_XI_FFS_FILE_SIZE', 'CAP_PROP_XI_FRAMERATE', 'CAP_PROP_XI_FREE_FFS_SIZE', 'CAP_PROP_XI_GAIN', 'CAP_PROP_XI_GAIN_SELECTOR', 'CAP_PROP_XI_GAMMAC', 'CAP_PROP_XI_GAMMAY', 'CAP_PROP_XI_GPI_LEVEL', 'CAP_PROP_XI_GPI_MODE', 'CAP_PROP_XI_GPI_SELECTOR', 'CAP_PROP_XI_GPO_MODE', 'CAP_PROP_XI_GPO_SELECTOR', 'CAP_PROP_XI_HDR', 'CAP_PROP_XI_HDR_KNEEPOINT_COUNT', 'CAP_PROP_XI_HDR_T1', 'CAP_PROP_XI_HDR_T2', 'CAP_PROP_XI_HEIGHT', 'CAP_PROP_XI_HOUS_BACK_SIDE_TEMP', 'CAP_PROP_XI_HOUS_TEMP', 'CAP_PROP_XI_HW_REVISION', 'CAP_PROP_XI_IMAGE_BLACK_LEVEL', 'CAP_PROP_XI_IMAGE_DATA_BIT_DEPTH', 'CAP_PROP_XI_IMAGE_DATA_FORMAT', 'CAP_PROP_XI_IMAGE_DATA_FORMAT_RGB32_ALPHA', 'CAP_PROP_XI_IMAGE_IS_COLOR', 'CAP_PROP_XI_IMAGE_PAYLOAD_SIZE', 'CAP_PROP_XI_IS_COOLED', 'CAP_PROP_XI_IS_DEVICE_EXIST', 'CAP_PROP_XI_KNEEPOINT1', 'CAP_PROP_XI_KNEEPOINT2', 'CAP_PROP_XI_LED_MODE', 'CAP_PROP_XI_LED_SELECTOR', 'CAP_PROP_XI_LENS_APERTURE_VALUE', 'CAP_PROP_XI_LENS_FEATURE', 'CAP_PROP_XI_LENS_FEATURE_SELECTOR', 'CAP_PROP_XI_LENS_FOCAL_LENGTH', 'CAP_PROP_XI_LENS_FOCUS_DISTANCE', 'CAP_PROP_XI_LENS_FOCUS_MOVE', 'CAP_PROP_XI_LENS_FOCUS_MOVEMENT_VALUE', 'CAP_PROP_XI_LENS_MODE', 'CAP_PROP_XI_LIMIT_BANDWIDTH', 'CAP_PROP_XI_LUT_EN', 'CAP_PROP_XI_LUT_INDEX', 'CAP_PROP_XI_LUT_VALUE', 'CAP_PROP_XI_MANUAL_WB', 'CAP_PROP_XI_OFFSET_X', 'CAP_PROP_XI_OFFSET_Y', 'CAP_PROP_XI_OUTPUT_DATA_BIT_DEPTH', 'CAP_PROP_XI_OUTPUT_DATA_PACKING', 'CAP_PROP_XI_OUTPUT_DATA_PACKING_TYPE', 'CAP_PROP_XI_RECENT_FRAME', 'CAP_PROP_XI_REGION_MODE', 'CAP_PROP_XI_REGION_SELECTOR', 'CAP_PROP_XI_ROW_FPN_CORRECTION', 'CAP_PROP_XI_SENSOR_BOARD_TEMP', 'CAP_PROP_XI_SENSOR_CLOCK_FREQ_HZ', 'CAP_PROP_XI_SENSOR_CLOCK_FREQ_INDEX', 'CAP_PROP_XI_SENSOR_DATA_BIT_DEPTH', 'CAP_PROP_XI_SENSOR_FEATURE_SELECTOR', 'CAP_PROP_XI_SENSOR_FEATURE_VALUE', 'CAP_PROP_XI_SENSOR_MODE', 'CAP_PROP_XI_SENSOR_OUTPUT_CHANNEL_COUNT', 'CAP_PROP_XI_SENSOR_TAPS', 'CAP_PROP_XI_SHARPNESS', 'CAP_PROP_XI_SHUTTER_TYPE', 'CAP_PROP_XI_TARGET_TEMP', 'CAP_PROP_XI_TEST_PATTERN', 'CAP_PROP_XI_TEST_PATTERN_GENERATOR_SELECTOR', 'CAP_PROP_XI_TIMEOUT', 'CAP_PROP_XI_TRANSPORT_PIXEL_FORMAT', 'CAP_PROP_XI_TRG_DELAY', 'CAP_PROP_XI_TRG_SELECTOR', 'CAP_PROP_XI_TRG_SOFTWARE', 'CAP_PROP_XI_TRG_SOURCE', 'CAP_PROP_XI_TS_RST_MODE', 'CAP_PROP_XI_TS_RST_SOURCE', 'CAP_PROP_XI_USED_FFS_SIZE', 'CAP_PROP_XI_WB_KB', 'CAP_PROP_XI_WB_KG', 'CAP_PROP_XI_WB_KR', 'CAP_PROP_XI_WIDTH', 'CAP_PROP_ZOOM', 'CAP_PVAPI', 'CAP_PVAPI_DECIMATION_2OUTOF16', 'CAP_PVAPI_DECIMATION_2OUTOF4', 'CAP_PVAPI_DECIMATION_2OUTOF8', 'CAP_PVAPI_DECIMATION_OFF', 'CAP_PVAPI_FSTRIGMODE_FIXEDRATE', 'CAP_PVAPI_FSTRIGMODE_FREERUN', 'CAP_PVAPI_FSTRIGMODE_SOFTWARE', 'CAP_PVAPI_FSTRIGMODE_SYNCIN1', 'CAP_PVAPI_FSTRIGMODE_SYNCIN2', 'CAP_PVAPI_PIXELFORMAT_BAYER16', 'CAP_PVAPI_PIXELFORMAT_BAYER8', 'CAP_PVAPI_PIXELFORMAT_BGR24', 'CAP_PVAPI_PIXELFORMAT_BGRA32', 'CAP_PVAPI_PIXELFORMAT_MONO16', 'CAP_PVAPI_PIXELFORMAT_MONO8', 'CAP_PVAPI_PIXELFORMAT_RGB24', 'CAP_PVAPI_PIXELFORMAT_RGBA32', 'CAP_QT', 'CAP_REALSENSE', 'CAP_UNICAP', 'CAP_V4L', 'CAP_V4L2', 'CAP_VFW', 'CAP_WINRT', 'CAP_XIAPI', 'CAP_XINE', 'CASCADE_DO_CANNY_PRUNING', 'CASCADE_DO_ROUGH_SEARCH', 'CASCADE_FIND_BIGGEST_OBJECT', 'CASCADE_SCALE_IMAGE', 'CCL_DEFAULT', 'CCL_GRANA', 'CCL_WU', 'CC_STAT_AREA', 'CC_STAT_HEIGHT', 'CC_STAT_LEFT', 'CC_STAT_MAX', 'CC_STAT_TOP', 'CC_STAT_WIDTH', 'CHAIN_APPROX_NONE', 'CHAIN_APPROX_SIMPLE', 'CHAIN_APPROX_TC89_KCOS', 'CHAIN_APPROX_TC89_L1', 'CIRCLES_GRID_FINDER_PARAMETERS_ASYMMETRIC_GRID', 'CIRCLES_GRID_FINDER_PARAMETERS_SYMMETRIC_GRID', 'CLAHE', 'CMP_EQ', 'CMP_GE', 'CMP_GT', 'CMP_LE', 'CMP_LT', 'CMP_NE', 'COLORMAP_AUTUMN', 'COLORMAP_BONE', 'COLORMAP_CIVIDIS', 'COLORMAP_COOL', 'COLORMAP_HOT', 'COLORMAP_HSV', 'COLORMAP_INFERNO', 'COLORMAP_JET', 'COLORMAP_MAGMA', 'COLORMAP_OCEAN', 'COLORMAP_PARULA', 'COLORMAP_PINK', 'COLORMAP_PLASMA', 'COLORMAP_RAINBOW', 'COLORMAP_SPRING', 'COLORMAP_SUMMER', 'COLORMAP_TWILIGHT', 'COLORMAP_TWILIGHT_SHIFTED', 'COLORMAP_VIRIDIS', 'COLORMAP_WINTER', 'COLOR_BAYER_BG2BGR', 'COLOR_BAYER_BG2BGRA', 'COLOR_BAYER_BG2BGR_EA', 'COLOR_BAYER_BG2BGR_VNG', 'COLOR_BAYER_BG2GRAY', 'COLOR_BAYER_BG2RGB', 'COLOR_BAYER_BG2RGBA', 'COLOR_BAYER_BG2RGB_EA', 'COLOR_BAYER_BG2RGB_VNG', 'COLOR_BAYER_GB2BGR', 'COLOR_BAYER_GB2BGRA', 'COLOR_BAYER_GB2BGR_EA', 'COLOR_BAYER_GB2BGR_VNG', 'COLOR_BAYER_GB2GRAY', 'COLOR_BAYER_GB2RGB', 'COLOR_BAYER_GB2RGBA', 'COLOR_BAYER_GB2RGB_EA', 'COLOR_BAYER_GB2RGB_VNG', 'COLOR_BAYER_GR2BGR', 'COLOR_BAYER_GR2BGRA', 'COLOR_BAYER_GR2BGR_EA', 'COLOR_BAYER_GR2BGR_VNG', 'COLOR_BAYER_GR2GRAY', 'COLOR_BAYER_GR2RGB', 'COLOR_BAYER_GR2RGBA', 'COLOR_BAYER_GR2RGB_EA', 'COLOR_BAYER_GR2RGB_VNG', 'COLOR_BAYER_RG2BGR', 'COLOR_BAYER_RG2BGRA', 'COLOR_BAYER_RG2BGR_EA', 'COLOR_BAYER_RG2BGR_VNG', 'COLOR_BAYER_RG2GRAY', 'COLOR_BAYER_RG2RGB', 'COLOR_BAYER_RG2RGBA', 'COLOR_BAYER_RG2RGB_EA', 'COLOR_BAYER_RG2RGB_VNG', 'COLOR_BGR2BGR555', 'COLOR_BGR2BGR565', 'COLOR_BGR2BGRA', 'COLOR_BGR2GRAY', 'COLOR_BGR2HLS', 'COLOR_BGR2HLS_FULL', 'COLOR_BGR2HSV', 'COLOR_BGR2HSV_FULL', 'COLOR_BGR2LAB', 'COLOR_BGR2LUV', 'COLOR_BGR2Lab', 'COLOR_BGR2Luv', 'COLOR_BGR2RGB', 'COLOR_BGR2RGBA', 'COLOR_BGR2XYZ', 'COLOR_BGR2YCR_CB', 'COLOR_BGR2YCrCb', 'COLOR_BGR2YUV', 'COLOR_BGR2YUV_I420', 'COLOR_BGR2YUV_IYUV', 'COLOR_BGR2YUV_YV12', 'COLOR_BGR5552BGR', 'COLOR_BGR5552BGRA', 'COLOR_BGR5552GRAY', 'COLOR_BGR5552RGB', 'COLOR_BGR5552RGBA', 'COLOR_BGR5652BGR', 'COLOR_BGR5652BGRA', 'COLOR_BGR5652GRAY', 'COLOR_BGR5652RGB', 'COLOR_BGR5652RGBA', 'COLOR_BGRA2BGR', 'COLOR_BGRA2BGR555', 'COLOR_BGRA2BGR565', 'COLOR_BGRA2GRAY', 'COLOR_BGRA2RGB', 'COLOR_BGRA2RGBA', 'COLOR_BGRA2YUV_I420', 'COLOR_BGRA2YUV_IYUV', 'COLOR_BGRA2YUV_YV12', 'COLOR_BayerBG2BGR', 'COLOR_BayerBG2BGRA', 'COLOR_BayerBG2BGR_EA', 'COLOR_BayerBG2BGR_VNG', 'COLOR_BayerBG2GRAY', 'COLOR_BayerBG2RGB', 'COLOR_BayerBG2RGBA', 'COLOR_BayerBG2RGB_EA', 'COLOR_BayerBG2RGB_VNG', 'COLOR_BayerGB2BGR', 'COLOR_BayerGB2BGRA', 'COLOR_BayerGB2BGR_EA', 'COLOR_BayerGB2BGR_VNG', 'COLOR_BayerGB2GRAY', 'COLOR_BayerGB2RGB', 'COLOR_BayerGB2RGBA', 'COLOR_BayerGB2RGB_EA', 'COLOR_BayerGB2RGB_VNG', 'COLOR_BayerGR2BGR', 'COLOR_BayerGR2BGRA', 'COLOR_BayerGR2BGR_EA', 'COLOR_BayerGR2BGR_VNG', 'COLOR_BayerGR2GRAY', 'COLOR_BayerGR2RGB', 'COLOR_BayerGR2RGBA', 'COLOR_BayerGR2RGB_EA', 'COLOR_BayerGR2RGB_VNG', 'COLOR_BayerRG2BGR', 'COLOR_BayerRG2BGRA', 'COLOR_BayerRG2BGR_EA', 'COLOR_BayerRG2BGR_VNG', 'COLOR_BayerRG2GRAY', 'COLOR_BayerRG2RGB', 'COLOR_BayerRG2RGBA', 'COLOR_BayerRG2RGB_EA', 'COLOR_BayerRG2RGB_VNG', 'COLOR_COLORCVT_MAX', 'COLOR_GRAY2BGR', 'COLOR_GRAY2BGR555', 'COLOR_GRAY2BGR565', 'COLOR_GRAY2BGRA', 'COLOR_GRAY2RGB', 'COLOR_GRAY2RGBA', 'COLOR_HLS2BGR', 'COLOR_HLS2BGR_FULL', 'COLOR_HLS2RGB', 'COLOR_HLS2RGB_FULL', 'COLOR_HSV2BGR', 'COLOR_HSV2BGR_FULL', 'COLOR_HSV2RGB', 'COLOR_HSV2RGB_FULL', 'COLOR_LAB2BGR', 'COLOR_LAB2LBGR', 'COLOR_LAB2LRGB', 'COLOR_LAB2RGB', 'COLOR_LBGR2LAB', 'COLOR_LBGR2LUV', 'COLOR_LBGR2Lab', 'COLOR_LBGR2Luv', 'COLOR_LRGB2LAB', 'COLOR_LRGB2LUV', 'COLOR_LRGB2Lab', 'COLOR_LRGB2Luv', 'COLOR_LUV2BGR', 'COLOR_LUV2LBGR', 'COLOR_LUV2LRGB', 'COLOR_LUV2RGB', 'COLOR_Lab2BGR', 'COLOR_Lab2LBGR', 'COLOR_Lab2LRGB', 'COLOR_Lab2RGB', 'COLOR_Luv2BGR', 'COLOR_Luv2LBGR', 'COLOR_Luv2LRGB', 'COLOR_Luv2RGB', 'COLOR_M_RGBA2RGBA', 'COLOR_RGB2BGR', 'COLOR_RGB2BGR555', 'COLOR_RGB2BGR565', 'COLOR_RGB2BGRA', 'COLOR_RGB2GRAY', 'COLOR_RGB2HLS', 'COLOR_RGB2HLS_FULL', 'COLOR_RGB2HSV', 'COLOR_RGB2HSV_FULL', 'COLOR_RGB2LAB', 'COLOR_RGB2LUV', 'COLOR_RGB2Lab', 'COLOR_RGB2Luv', 'COLOR_RGB2RGBA', 'COLOR_RGB2XYZ', 'COLOR_RGB2YCR_CB', 'COLOR_RGB2YCrCb', 'COLOR_RGB2YUV', 'COLOR_RGB2YUV_I420', 'COLOR_RGB2YUV_IYUV', 'COLOR_RGB2YUV_YV12', 'COLOR_RGBA2BGR', 'COLOR_RGBA2BGR555', 'COLOR_RGBA2BGR565', 'COLOR_RGBA2BGRA', 'COLOR_RGBA2GRAY', 'COLOR_RGBA2M_RGBA', 'COLOR_RGBA2RGB', 'COLOR_RGBA2YUV_I420', 'COLOR_RGBA2YUV_IYUV', 'COLOR_RGBA2YUV_YV12', 'COLOR_RGBA2mRGBA', 'COLOR_XYZ2BGR', 'COLOR_XYZ2RGB', 'COLOR_YCR_CB2BGR', 'COLOR_YCR_CB2RGB', 'COLOR_YCrCb2BGR', 'COLOR_YCrCb2RGB', 'COLOR_YUV2BGR', 'COLOR_YUV2BGRA_I420', 'COLOR_YUV2BGRA_IYUV', 'COLOR_YUV2BGRA_NV12', 'COLOR_YUV2BGRA_NV21', 'COLOR_YUV2BGRA_UYNV', 'COLOR_YUV2BGRA_UYVY', 'COLOR_YUV2BGRA_Y422', 'COLOR_YUV2BGRA_YUNV', 'COLOR_YUV2BGRA_YUY2', 'COLOR_YUV2BGRA_YUYV', 'COLOR_YUV2BGRA_YV12', 'COLOR_YUV2BGRA_YVYU', 'COLOR_YUV2BGR_I420', 'COLOR_YUV2BGR_IYUV', 'COLOR_YUV2BGR_NV12', 'COLOR_YUV2BGR_NV21', 'COLOR_YUV2BGR_UYNV', 'COLOR_YUV2BGR_UYVY', 'COLOR_YUV2BGR_Y422', 'COLOR_YUV2BGR_YUNV', 'COLOR_YUV2BGR_YUY2', 'COLOR_YUV2BGR_YUYV', 'COLOR_YUV2BGR_YV12', 'COLOR_YUV2BGR_YVYU', 'COLOR_YUV2GRAY_420', 'COLOR_YUV2GRAY_I420', 'COLOR_YUV2GRAY_IYUV', 'COLOR_YUV2GRAY_NV12', 'COLOR_YUV2GRAY_NV21', 'COLOR_YUV2GRAY_UYNV', 'COLOR_YUV2GRAY_UYVY', 'COLOR_YUV2GRAY_Y422', 'COLOR_YUV2GRAY_YUNV', 'COLOR_YUV2GRAY_YUY2', 'COLOR_YUV2GRAY_YUYV', 'COLOR_YUV2GRAY_YV12', 'COLOR_YUV2GRAY_YVYU', 'COLOR_YUV2RGB', 'COLOR_YUV2RGBA_I420', 'COLOR_YUV2RGBA_IYUV', 'COLOR_YUV2RGBA_NV12', 'COLOR_YUV2RGBA_NV21', 'COLOR_YUV2RGBA_UYNV', 'COLOR_YUV2RGBA_UYVY', 'COLOR_YUV2RGBA_Y422', 'COLOR_YUV2RGBA_YUNV', 'COLOR_YUV2RGBA_YUY2', 'COLOR_YUV2RGBA_YUYV', 'COLOR_YUV2RGBA_YV12', 'COLOR_YUV2RGBA_YVYU', 'COLOR_YUV2RGB_I420', 'COLOR_YUV2RGB_IYUV', 'COLOR_YUV2RGB_NV12', 'COLOR_YUV2RGB_NV21', 'COLOR_YUV2RGB_UYNV', 'COLOR_YUV2RGB_UYVY', 'COLOR_YUV2RGB_Y422', 'COLOR_YUV2RGB_YUNV', 'COLOR_YUV2RGB_YUY2', 'COLOR_YUV2RGB_YUYV', 'COLOR_YUV2RGB_YV12', 'COLOR_YUV2RGB_YVYU', 'COLOR_YUV420P2BGR', 'COLOR_YUV420P2BGRA', 'COLOR_YUV420P2GRAY', 'COLOR_YUV420P2RGB', 'COLOR_YUV420P2RGBA', 'COLOR_YUV420SP2BGR', 'COLOR_YUV420SP2BGRA', 'COLOR_YUV420SP2GRAY', 'COLOR_YUV420SP2RGB', 'COLOR_YUV420SP2RGBA', 'COLOR_YUV420p2BGR', 'COLOR_YUV420p2BGRA', 'COLOR_YUV420p2GRAY', 'COLOR_YUV420p2RGB', 'COLOR_YUV420p2RGBA', 'COLOR_YUV420sp2BGR', 'COLOR_YUV420sp2BGRA', 'COLOR_YUV420sp2GRAY', 'COLOR_YUV420sp2RGB', 'COLOR_YUV420sp2RGBA', 'COLOR_mRGBA2RGBA', 'CONTOURS_MATCH_I1', 'CONTOURS_MATCH_I2', 'CONTOURS_MATCH_I3', 'COVAR_COLS', 'COVAR_NORMAL', 'COVAR_ROWS', 'COVAR_SCALE', 'COVAR_SCRAMBLED', 'COVAR_USE_AVG', 'CV_16S', 'CV_16SC1', 'CV_16SC2', 'CV_16SC3', 'CV_16SC4', 'CV_16U', 'CV_16UC1', 'CV_16UC2', 'CV_16UC3', 'CV_16UC4', 'CV_32F', 'CV_32FC1', 'CV_32FC2', 'CV_32FC3', 'CV_32FC4', 'CV_32S', 'CV_32SC1', 'CV_32SC2', 'CV_32SC3', 'CV_32SC4', 'CV_64F', 'CV_64FC1', 'CV_64FC2', 'CV_64FC3', 'CV_64FC4', 'CV_8S', 'CV_8SC1', 'CV_8SC2', 'CV_8SC3', 'CV_8SC4', 'CV_8U', 'CV_8UC1', 'CV_8UC2', 'CV_8UC3', 'CV_8UC4', 'CV_FEATURE_PARAMS_HAAR', 'CV_FEATURE_PARAMS_HOG', 'CV_FEATURE_PARAMS_LBP', 'CalibrateCRF', 'CalibrateDebevec', 'CalibrateRobertson', 'CamShift', 'Canny', 'CascadeClassifier', 'CascadeClassifier_convert', 'ChiHistogramCostExtractor', 'CirclesGridFinderParameters', 'CirclesGridFinderParameters_ASYMMETRIC_GRID', 'CirclesGridFinderParameters_SYMMETRIC_GRID', 'CvFeatureParams_HAAR', 'CvFeatureParams_HOG', 'CvFeatureParams_LBP', 'DCT_INVERSE', 'DCT_ROWS', 'DECOMP_CHOLESKY', 'DECOMP_EIG', 'DECOMP_LU', 'DECOMP_NORMAL', 'DECOMP_QR', 'DECOMP_SVD', 'DESCRIPTOR_MATCHER_BRUTEFORCE', 'DESCRIPTOR_MATCHER_BRUTEFORCE_HAMMING', 'DESCRIPTOR_MATCHER_BRUTEFORCE_HAMMINGLUT', 'DESCRIPTOR_MATCHER_BRUTEFORCE_L1', 'DESCRIPTOR_MATCHER_BRUTEFORCE_SL2', 'DESCRIPTOR_MATCHER_FLANNBASED', 'DFT_COMPLEX_INPUT', 'DFT_COMPLEX_OUTPUT', 'DFT_INVERSE', 'DFT_REAL_OUTPUT', 'DFT_ROWS', 'DFT_SCALE', 'DISOPTICAL_FLOW_PRESET_FAST', 'DISOPTICAL_FLOW_PRESET_MEDIUM', 'DISOPTICAL_FLOW_PRESET_ULTRAFAST', 'DISOpticalFlow', 'DISOpticalFlow_PRESET_FAST', 'DISOpticalFlow_PRESET_MEDIUM', 'DISOpticalFlow_PRESET_ULTRAFAST', 'DISOpticalFlow_create', 'DIST_C', 'DIST_FAIR', 'DIST_HUBER', 'DIST_L1', 'DIST_L12', 'DIST_L2', 'DIST_LABEL_CCOMP', 'DIST_LABEL_PIXEL', 'DIST_MASK_3', 'DIST_MASK_5', 'DIST_MASK_PRECISE', 'DIST_USER', 'DIST_WELSCH', 'DMatch', 'DRAW_MATCHES_FLAGS_DEFAULT', 'DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG', 'DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS', 'DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS', 'DenseOpticalFlow', 'DescriptorMatcher', 'DescriptorMatcher_BRUTEFORCE', 'DescriptorMatcher_BRUTEFORCE_HAMMING', 'DescriptorMatcher_BRUTEFORCE_HAMMINGLUT', 'DescriptorMatcher_BRUTEFORCE_L1', 'DescriptorMatcher_BRUTEFORCE_SL2', 'DescriptorMatcher_FLANNBASED', 'DescriptorMatcher_create', 'DrawMatchesFlags_DEFAULT', 'DrawMatchesFlags_DRAW_OVER_OUTIMG', 'DrawMatchesFlags_DRAW_RICH_KEYPOINTS', 'DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS', 'EMD', 'EMDHistogramCostExtractor', 'EMDL1HistogramCostExtractor', 'EVENT_FLAG_ALTKEY', 'EVENT_FLAG_CTRLKEY', 'EVENT_FLAG_LBUTTON', 'EVENT_FLAG_MBUTTON', 'EVENT_FLAG_RBUTTON', 'EVENT_FLAG_SHIFTKEY', 'EVENT_LBUTTONDBLCLK', 'EVENT_LBUTTONDOWN', 'EVENT_LBUTTONUP', 'EVENT_MBUTTONDBLCLK', 'EVENT_MBUTTONDOWN', 'EVENT_MBUTTONUP', 'EVENT_MOUSEHWHEEL', 'EVENT_MOUSEMOVE', 'EVENT_MOUSEWHEEL', 'EVENT_RBUTTONDBLCLK', 'EVENT_RBUTTONDOWN', 'EVENT_RBUTTONUP', 'Error', 'FAST_FEATURE_DETECTOR_FAST_N', 'FAST_FEATURE_DETECTOR_NONMAX_SUPPRESSION', 'FAST_FEATURE_DETECTOR_THRESHOLD', 'FAST_FEATURE_DETECTOR_TYPE_5_8', 'FAST_FEATURE_DETECTOR_TYPE_7_12', 'FAST_FEATURE_DETECTOR_TYPE_9_16', 'FILE_NODE_EMPTY', 'FILE_NODE_FLOAT', 'FILE_NODE_FLOW', 'FILE_NODE_INT', 'FILE_NODE_MAP', 'FILE_NODE_NAMED', 'FILE_NODE_NONE', 'FILE_NODE_REAL', 'FILE_NODE_SEQ', 'FILE_NODE_STR', 'FILE_NODE_STRING', 'FILE_NODE_TYPE_MASK', 'FILE_NODE_UNIFORM', 'FILE_STORAGE_APPEND', 'FILE_STORAGE_BASE64', 'FILE_STORAGE_FORMAT_AUTO', 'FILE_STORAGE_FORMAT_JSON', 'FILE_STORAGE_FORMAT_MASK', 'FILE_STORAGE_FORMAT_XML', 'FILE_STORAGE_FORMAT_YAML', 'FILE_STORAGE_INSIDE_MAP', 'FILE_STORAGE_MEMORY', 'FILE_STORAGE_NAME_EXPECTED', 'FILE_STORAGE_READ', 'FILE_STORAGE_UNDEFINED', 'FILE_STORAGE_VALUE_EXPECTED', 'FILE_STORAGE_WRITE', 'FILE_STORAGE_WRITE_BASE64', 'FILLED', 'FILTER_SCHARR', 'FLOODFILL_FIXED_RANGE', 'FLOODFILL_MASK_ONLY', 'FM_7POINT', 'FM_8POINT', 'FM_LMEDS', 'FM_RANSAC', 'FONT_HERSHEY_COMPLEX', 'FONT_HERSHEY_COMPLEX_SMALL', 'FONT_HERSHEY_DUPLEX', 'FONT_HERSHEY_PLAIN', 'FONT_HERSHEY_SCRIPT_COMPLEX', 'FONT_HERSHEY_SCRIPT_SIMPLEX', 'FONT_HERSHEY_SIMPLEX', 'FONT_HERSHEY_TRIPLEX', 'FONT_ITALIC', 'FORMATTER_FMT_C', 'FORMATTER_FMT_CSV', 'FORMATTER_FMT_DEFAULT', 'FORMATTER_FMT_MATLAB', 'FORMATTER_FMT_NUMPY', 'FORMATTER_FMT_PYTHON', 'FarnebackOpticalFlow', 'FarnebackOpticalFlow_create', 'FastFeatureDetector', 'FastFeatureDetector_FAST_N', 'FastFeatureDetector_NONMAX_SUPPRESSION', 'FastFeatureDetector_THRESHOLD', 'FastFeatureDetector_TYPE_5_8', 'FastFeatureDetector_TYPE_7_12', 'FastFeatureDetector_TYPE_9_16', 'FastFeatureDetector_create', 'Feature2D', 'FileNode', 'FileNode_EMPTY', 'FileNode_FLOAT', 'FileNode_FLOW', 'FileNode_INT', 'FileNode_MAP', 'FileNode_NAMED', 'FileNode_NONE', 'FileNode_REAL', 'FileNode_SEQ', 'FileNode_STR', 'FileNode_STRING', 'FileNode_TYPE_MASK', 'FileNode_UNIFORM', 'FileStorage', 'FileStorage_APPEND', 'FileStorage_BASE64', 'FileStorage_FORMAT_AUTO', 'FileStorage_FORMAT_JSON', 'FileStorage_FORMAT_MASK', 'FileStorage_FORMAT_XML', 'FileStorage_FORMAT_YAML', 'FileStorage_INSIDE_MAP', 'FileStorage_MEMORY', 'FileStorage_NAME_EXPECTED', 'FileStorage_READ', 'FileStorage_UNDEFINED', 'FileStorage_VALUE_EXPECTED', 'FileStorage_WRITE', 'FileStorage_WRITE_BASE64', 'FlannBasedMatcher', 'FlannBasedMatcher_create', 'Formatter_FMT_C', 'Formatter_FMT_CSV', 'Formatter_FMT_DEFAULT', 'Formatter_FMT_MATLAB', 'Formatter_FMT_NUMPY', 'Formatter_FMT_PYTHON', 'GC_BGD', 'GC_EVAL', 'GC_EVAL_FREEZE_MODEL', 'GC_FGD', 'GC_INIT_WITH_MASK', 'GC_INIT_WITH_RECT', 'GC_PR_BGD', 'GC_PR_FGD', 'GEMM_1_T', 'GEMM_2_T', 'GEMM_3_T', 'GFTTDetector', 'GFTTDetector_create', 'GaussianBlur', 'GeneralizedHough', 'GeneralizedHoughBallard', 'GeneralizedHoughGuil', 'HISTCMP_BHATTACHARYYA', 'HISTCMP_CHISQR', 'HISTCMP_CHISQR_ALT', 'HISTCMP_CORREL', 'HISTCMP_HELLINGER', 'HISTCMP_INTERSECT', 'HISTCMP_KL_DIV', 'HOGDESCRIPTOR_DEFAULT_NLEVELS', 'HOGDESCRIPTOR_DESCR_FORMAT_COL_BY_COL', 'HOGDESCRIPTOR_DESCR_FORMAT_ROW_BY_ROW', 'HOGDESCRIPTOR_L2HYS', 'HOGDescriptor', 'HOGDescriptor_DEFAULT_NLEVELS', 'HOGDescriptor_DESCR_FORMAT_COL_BY_COL', 'HOGDescriptor_DESCR_FORMAT_ROW_BY_ROW', 'HOGDescriptor_L2Hys', 'HOGDescriptor_getDaimlerPeopleDetector', 'HOGDescriptor_getDefaultPeopleDetector', 'HOUGH_GRADIENT', 'HOUGH_MULTI_SCALE', 'HOUGH_PROBABILISTIC', 'HOUGH_STANDARD', 'HausdorffDistanceExtractor', 'HistogramCostExtractor', 'HoughCircles', 'HoughLines', 'HoughLinesP', 'HoughLinesPointSet', 'HuMoments', 'IMREAD_ANYCOLOR', 'IMREAD_ANYDEPTH', 'IMREAD_COLOR', 'IMREAD_GRAYSCALE', 'IMREAD_IGNORE_ORIENTATION', 'IMREAD_LOAD_GDAL', 'IMREAD_REDUCED_COLOR_2', 'IMREAD_REDUCED_COLOR_4', 'IMREAD_REDUCED_COLOR_8', 'IMREAD_REDUCED_GRAYSCALE_2', 'IMREAD_REDUCED_GRAYSCALE_4', 'IMREAD_REDUCED_GRAYSCALE_8', 'IMREAD_UNCHANGED', 'IMWRITE_EXR_TYPE', 'IMWRITE_EXR_TYPE_FLOAT', 'IMWRITE_EXR_TYPE_HALF', 'IMWRITE_JPEG2000_COMPRESSION_X1000', 'IMWRITE_JPEG_CHROMA_QUALITY', 'IMWRITE_JPEG_LUMA_QUALITY', 'IMWRITE_JPEG_OPTIMIZE', 'IMWRITE_JPEG_PROGRESSIVE', 'IMWRITE_JPEG_QUALITY', 'IMWRITE_JPEG_RST_INTERVAL', 'IMWRITE_PAM_FORMAT_BLACKANDWHITE', 'IMWRITE_PAM_FORMAT_GRAYSCALE', 'IMWRITE_PAM_FORMAT_GRAYSCALE_ALPHA', 'IMWRITE_PAM_FORMAT_NULL', 'IMWRITE_PAM_FORMAT_RGB', 'IMWRITE_PAM_FORMAT_RGB_ALPHA', 'IMWRITE_PAM_TUPLETYPE', 'IMWRITE_PNG_BILEVEL', 'IMWRITE_PNG_COMPRESSION', 'IMWRITE_PNG_STRATEGY', 'IMWRITE_PNG_STRATEGY_DEFAULT', 'IMWRITE_PNG_STRATEGY_FILTERED', 'IMWRITE_PNG_STRATEGY_FIXED', 'IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY', 'IMWRITE_PNG_STRATEGY_RLE', 'IMWRITE_PXM_BINARY', 'IMWRITE_TIFF_COMPRESSION', 'IMWRITE_TIFF_RESUNIT', 'IMWRITE_TIFF_XDPI', 'IMWRITE_TIFF_YDPI', 'IMWRITE_WEBP_QUALITY', 'INPAINT_NS', 'INPAINT_TELEA', 'INTERSECT_FULL', 'INTERSECT_NONE', 'INTERSECT_PARTIAL', 'INTER_AREA', 'INTER_BITS', 'INTER_BITS2', 'INTER_CUBIC', 'INTER_LANCZOS4', 'INTER_LINEAR', 'INTER_LINEAR_EXACT', 'INTER_MAX', 'INTER_NEAREST', 'INTER_TAB_SIZE', 'INTER_TAB_SIZE2', 'KAZE', 'KAZE_DIFF_CHARBONNIER', 'KAZE_DIFF_PM_G1', 'KAZE_DIFF_PM_G2', 'KAZE_DIFF_WEICKERT', 'KAZE_create', 'KMEANS_PP_CENTERS', 'KMEANS_RANDOM_CENTERS', 'KMEANS_USE_INITIAL_LABELS', 'KalmanFilter', 'KeyPoint', 'KeyPoint_convert', 'KeyPoint_overlap', 'LDR_SIZE', 'LINE_4', 'LINE_8', 'LINE_AA', 'LMEDS', 'LSD_REFINE_ADV', 'LSD_REFINE_NONE', 'LSD_REFINE_STD', 'LUT', 'Laplacian', 'LineSegmentDetector', 'MARKER_CROSS', 'MARKER_DIAMOND', 'MARKER_SQUARE', 'MARKER_STAR', 'MARKER_TILTED_CROSS', 'MARKER_TRIANGLE_DOWN', 'MARKER_TRIANGLE_UP', 'MAT_AUTO_STEP', 'MAT_CONTINUOUS_FLAG', 'MAT_DEPTH_MASK', 'MAT_MAGIC_MASK', 'MAT_MAGIC_VAL', 'MAT_SUBMATRIX_FLAG', 'MAT_TYPE_MASK', 'MIXED_CLONE', 'MONOCHROME_TRANSFER', 'MORPH_BLACKHAT', 'MORPH_CLOSE', 'MORPH_CROSS', 'MORPH_DILATE', 'MORPH_ELLIPSE', 'MORPH_ERODE', 'MORPH_GRADIENT', 'MORPH_HITMISS', 'MORPH_OPEN', 'MORPH_RECT', 'MORPH_TOPHAT', 'MOTION_AFFINE', 'MOTION_EUCLIDEAN', 'MOTION_HOMOGRAPHY', 'MOTION_TRANSLATION', 'MSER', 'MSER_create', 'Mahalanobis', 'Mat_AUTO_STEP', 'Mat_CONTINUOUS_FLAG', 'Mat_DEPTH_MASK', 'Mat_MAGIC_MASK', 'Mat_MAGIC_VAL', 'Mat_SUBMATRIX_FLAG', 'Mat_TYPE_MASK', 'MergeDebevec', 'MergeExposures', 'MergeMertens', 'MergeRobertson', 'MultiTracker', 'MultiTracker_create', 'NORMAL_CLONE', 'NORMCONV_FILTER', 'NORM_HAMMING', 'NORM_HAMMING2', 'NORM_INF', 'NORM_L1', 'NORM_L2', 'NORM_L2SQR', 'NORM_MINMAX', 'NORM_RELATIVE', 'NORM_TYPE_MASK', 'NormHistogramCostExtractor', 'OPTFLOW_FARNEBACK_GAUSSIAN', 'OPTFLOW_LK_GET_MIN_EIGENVALS', 'OPTFLOW_USE_INITIAL_FLOW', 'ORB', 'ORB_FAST_SCORE', 'ORB_HARRIS_SCORE', 'ORB_create', 'PARAM_ALGORITHM', 'PARAM_BOOLEAN', 'PARAM_FLOAT', 'PARAM_INT', 'PARAM_MAT', 'PARAM_MAT_VECTOR', 'PARAM_REAL', 'PARAM_SCALAR', 'PARAM_STRING', 'PARAM_UCHAR', 'PARAM_UINT64', 'PARAM_UNSIGNED_INT', 'PCABackProject', 'PCACompute', 'PCACompute2', 'PCAProject', 'PCA_DATA_AS_COL', 'PCA_DATA_AS_ROW', 'PCA_USE_AVG', 'PROJ_SPHERICAL_EQRECT', 'PROJ_SPHERICAL_ORTHO', 'PSNR', 'Param_ALGORITHM', 'Param_BOOLEAN', 'Param_FLOAT', 'Param_INT', 'Param_MAT', 'Param_MAT_VECTOR', 'Param_REAL', 'Param_SCALAR', 'Param_STRING', 'Param_UCHAR', 'Param_UINT64', 'Param_UNSIGNED_INT', 'PyRotationWarper', 'QRCodeDetector', 'QT_CHECKBOX', 'QT_FONT_BLACK', 'QT_FONT_BOLD', 'QT_FONT_DEMIBOLD', 'QT_FONT_LIGHT', 'QT_FONT_NORMAL', 'QT_NEW_BUTTONBAR', 'QT_PUSH_BUTTON', 'QT_RADIOBOX', 'QT_STYLE_ITALIC', 'QT_STYLE_NORMAL', 'QT_STYLE_OBLIQUE', 'RANSAC', 'RECURS_FILTER', 'REDUCE_AVG', 'REDUCE_MAX', 'REDUCE_MIN', 'REDUCE_SUM', 'RETR_CCOMP', 'RETR_EXTERNAL', 'RETR_FLOODFILL', 'RETR_LIST', 'RETR_TREE', 'RHO', 'RNG_NORMAL', 'RNG_UNIFORM', 'ROTATE_180', 'ROTATE_90_CLOCKWISE', 'ROTATE_90_COUNTERCLOCKWISE', 'RQDecomp3x3', 'Rodrigues', 'SOLVELP_MULTI', 'SOLVELP_SINGLE', 'SOLVELP_UNBOUNDED', 'SOLVELP_UNFEASIBLE', 'SOLVEPNP_AP3P', 'SOLVEPNP_DLS', 'SOLVEPNP_EPNP', 'SOLVEPNP_IPPE', 'SOLVEPNP_IPPE_SQUARE', 'SOLVEPNP_ITERATIVE', 'SOLVEPNP_MAX_COUNT', 'SOLVEPNP_P3P', 'SOLVEPNP_UPNP', 'SORT_ASCENDING', 'SORT_DESCENDING', 'SORT_EVERY_COLUMN', 'SORT_EVERY_ROW', 'SPARSE_MAT_HASH_BIT', 'SPARSE_MAT_HASH_SCALE', 'SPARSE_MAT_MAGIC_VAL', 'SPARSE_MAT_MAX_DIM', 'STEREO_BM_PREFILTER_NORMALIZED_RESPONSE', 'STEREO_BM_PREFILTER_XSOBEL', 'STEREO_MATCHER_DISP_SCALE', 'STEREO_MATCHER_DISP_SHIFT', 'STEREO_SGBM_MODE_HH', 'STEREO_SGBM_MODE_HH4', 'STEREO_SGBM_MODE_SGBM', 'STEREO_SGBM_MODE_SGBM_3WAY', 'STITCHER_ERR_CAMERA_PARAMS_ADJUST_FAIL', 'STITCHER_ERR_HOMOGRAPHY_EST_FAIL', 'STITCHER_ERR_NEED_MORE_IMGS', 'STITCHER_OK', 'STITCHER_PANORAMA', 'STITCHER_SCANS', 'SUBDIV2D_NEXT_AROUND_DST', 'SUBDIV2D_NEXT_AROUND_LEFT', 'SUBDIV2D_NEXT_AROUND_ORG', 'SUBDIV2D_NEXT_AROUND_RIGHT', 'SUBDIV2D_PREV_AROUND_DST', 'SUBDIV2D_PREV_AROUND_LEFT', 'SUBDIV2D_PREV_AROUND_ORG', 'SUBDIV2D_PREV_AROUND_RIGHT', 'SUBDIV2D_PTLOC_ERROR', 'SUBDIV2D_PTLOC_INSIDE', 'SUBDIV2D_PTLOC_ON_EDGE', 'SUBDIV2D_PTLOC_OUTSIDE_RECT', 'SUBDIV2D_PTLOC_VERTEX', 'SVBackSubst', 'SVD_FULL_UV', 'SVD_MODIFY_A', 'SVD_NO_UV', 'SVDecomp', 'Scharr', 'ShapeContextDistanceExtractor', 'ShapeDistanceExtractor', 'ShapeTransformer', 'SimpleBlobDetector', 'SimpleBlobDetector_Params', 'SimpleBlobDetector_create', 'Sobel', 'SparseMat_HASH_BIT', 'SparseMat_HASH_SCALE', 'SparseMat_MAGIC_VAL', 'SparseMat_MAX_DIM', 'SparseOpticalFlow', 'SparsePyrLKOpticalFlow', 'SparsePyrLKOpticalFlow_create', 'StereoBM', 'StereoBM_PREFILTER_NORMALIZED_RESPONSE', 'StereoBM_PREFILTER_XSOBEL', 'StereoBM_create', 'StereoMatcher', 'StereoMatcher_DISP_SCALE', 'StereoMatcher_DISP_SHIFT', 'StereoSGBM', 'StereoSGBM_MODE_HH', 'StereoSGBM_MODE_HH4', 'StereoSGBM_MODE_SGBM', 'StereoSGBM_MODE_SGBM_3WAY', 'StereoSGBM_create', 'Stitcher', 'Stitcher_ERR_CAMERA_PARAMS_ADJUST_FAIL', 'Stitcher_ERR_HOMOGRAPHY_EST_FAIL', 'Stitcher_ERR_NEED_MORE_IMGS', 'Stitcher_OK', 'Stitcher_PANORAMA', 'Stitcher_SCANS', 'Stitcher_create', 'Subdiv2D', 'Subdiv2D_NEXT_AROUND_DST', 'Subdiv2D_NEXT_AROUND_LEFT', 'Subdiv2D_NEXT_AROUND_ORG', 'Subdiv2D_NEXT_AROUND_RIGHT', 'Subdiv2D_PREV_AROUND_DST', 'Subdiv2D_PREV_AROUND_LEFT', 'Subdiv2D_PREV_AROUND_ORG', 'Subdiv2D_PREV_AROUND_RIGHT', 'Subdiv2D_PTLOC_ERROR', 'Subdiv2D_PTLOC_INSIDE', 'Subdiv2D_PTLOC_ON_EDGE', 'Subdiv2D_PTLOC_OUTSIDE_RECT', 'Subdiv2D_PTLOC_VERTEX', 'TERM_CRITERIA_COUNT', 'TERM_CRITERIA_EPS', 'TERM_CRITERIA_MAX_ITER', 'THRESH_BINARY', 'THRESH_BINARY_INV', 'THRESH_MASK', 'THRESH_OTSU', 'THRESH_TOZERO', 'THRESH_TOZERO_INV', 'THRESH_TRIANGLE', 'THRESH_TRUNC', 'TM_CCOEFF', 'TM_CCOEFF_NORMED', 'TM_CCORR', 'TM_CCORR_NORMED', 'TM_SQDIFF', 'TM_SQDIFF_NORMED', 'TRACKER_KCF_CN', 'TRACKER_KCF_CUSTOM', 'TRACKER_KCF_GRAY', 'TRACKER_SAMPLER_CSC_MODE_DETECT', 'TRACKER_SAMPLER_CSC_MODE_INIT_NEG', 'TRACKER_SAMPLER_CSC_MODE_INIT_POS', 'TRACKER_SAMPLER_CSC_MODE_TRACK_NEG', 'TRACKER_SAMPLER_CSC_MODE_TRACK_POS', 'TRACKER_SAMPLER_CS_MODE_CLASSIFY', 'TRACKER_SAMPLER_CS_MODE_NEGATIVE', 'TRACKER_SAMPLER_CS_MODE_POSITIVE', 'TermCriteria_COUNT', 'TermCriteria_EPS', 'TermCriteria_MAX_ITER', 'ThinPlateSplineShapeTransformer', 'TickMeter', 'Tonemap', 'TonemapDrago', 'TonemapMantiuk', 'TonemapReinhard', 'Tracker', 'TrackerBoosting', 'TrackerBoosting_create', 'TrackerCSRT', 'TrackerCSRT_create', 'TrackerGOTURN', 'TrackerGOTURN_create', 'TrackerKCF', 'TrackerKCF_CN', 'TrackerKCF_CUSTOM', 'TrackerKCF_GRAY', 'TrackerKCF_create', 'TrackerMIL', 'TrackerMIL_create', 'TrackerMOSSE', 'TrackerMOSSE_create', 'TrackerMedianFlow', 'TrackerMedianFlow_create', 'TrackerSamplerCSC_MODE_DETECT', 'TrackerSamplerCSC_MODE_INIT_NEG', 'TrackerSamplerCSC_MODE_INIT_POS', 'TrackerSamplerCSC_MODE_TRACK_NEG', 'TrackerSamplerCSC_MODE_TRACK_POS', 'TrackerSamplerCS_MODE_CLASSIFY', 'TrackerSamplerCS_MODE_NEGATIVE', 'TrackerSamplerCS_MODE_POSITIVE', 'TrackerTLD', 'TrackerTLD_create', 'UMAT_AUTO_STEP', 'UMAT_CONTINUOUS_FLAG', 'UMAT_DATA_ASYNC_CLEANUP', 'UMAT_DATA_COPY_ON_MAP', 'UMAT_DATA_DEVICE_COPY_OBSOLETE', 'UMAT_DATA_DEVICE_MEM_MAPPED', 'UMAT_DATA_HOST_COPY_OBSOLETE', 'UMAT_DATA_TEMP_COPIED_UMAT', 'UMAT_DATA_TEMP_UMAT', 'UMAT_DATA_USER_ALLOCATED', 'UMAT_DEPTH_MASK', 'UMAT_MAGIC_MASK', 'UMAT_MAGIC_VAL', 'UMAT_SUBMATRIX_FLAG', 'UMAT_TYPE_MASK', 'UMat', 'UMatData_ASYNC_CLEANUP', 'UMatData_COPY_ON_MAP', 'UMatData_DEVICE_COPY_OBSOLETE', 'UMatData_DEVICE_MEM_MAPPED', 'UMatData_HOST_COPY_OBSOLETE', 'UMatData_TEMP_COPIED_UMAT', 'UMatData_TEMP_UMAT', 'UMatData_USER_ALLOCATED', 'UMat_AUTO_STEP', 'UMat_CONTINUOUS_FLAG', 'UMat_DEPTH_MASK', 'UMat_MAGIC_MASK', 'UMat_MAGIC_VAL', 'UMat_SUBMATRIX_FLAG', 'UMat_TYPE_MASK', 'UMat_context', 'UMat_queue', 'USAGE_ALLOCATE_DEVICE_MEMORY', 'USAGE_ALLOCATE_HOST_MEMORY', 'USAGE_ALLOCATE_SHARED_MEMORY', 'USAGE_DEFAULT', 'VIDEOWRITER_PROP_FRAMEBYTES', 'VIDEOWRITER_PROP_NSTRIPES', 'VIDEOWRITER_PROP_QUALITY', 'VariationalRefinement', 'VariationalRefinement_create', 'VideoCapture', 'VideoWriter', 'VideoWriter_fourcc', 'WARP_FILL_OUTLIERS', 'WARP_INVERSE_MAP', 'WARP_POLAR_LINEAR', 'WARP_POLAR_LOG', 'WINDOW_AUTOSIZE', 'WINDOW_FREERATIO', 'WINDOW_FULLSCREEN', 'WINDOW_GUI_EXPANDED', 'WINDOW_GUI_NORMAL', 'WINDOW_KEEPRATIO', 'WINDOW_NORMAL', 'WINDOW_OPENGL', 'WND_PROP_ASPECT_RATIO', 'WND_PROP_AUTOSIZE', 'WND_PROP_FULLSCREEN', 'WND_PROP_OPENGL', 'WND_PROP_VISIBLE', 'WarperCreator', '_INPUT_ARRAY_CUDA_GPU_MAT', '_INPUT_ARRAY_CUDA_HOST_MEM', '_INPUT_ARRAY_EXPR', '_INPUT_ARRAY_FIXED_SIZE', '_INPUT_ARRAY_FIXED_TYPE', '_INPUT_ARRAY_KIND_MASK', '_INPUT_ARRAY_KIND_SHIFT', '_INPUT_ARRAY_MAT', '_INPUT_ARRAY_MATX', '_INPUT_ARRAY_NONE', '_INPUT_ARRAY_OPENGL_BUFFER', '_INPUT_ARRAY_STD_ARRAY', '_INPUT_ARRAY_STD_ARRAY_MAT', '_INPUT_ARRAY_STD_BOOL_VECTOR', '_INPUT_ARRAY_STD_VECTOR', '_INPUT_ARRAY_STD_VECTOR_CUDA_GPU_MAT', '_INPUT_ARRAY_STD_VECTOR_MAT', '_INPUT_ARRAY_STD_VECTOR_UMAT', '_INPUT_ARRAY_STD_VECTOR_VECTOR', '_INPUT_ARRAY_UMAT', '_InputArray_CUDA_GPU_MAT', '_InputArray_CUDA_HOST_MEM', '_InputArray_EXPR', '_InputArray_FIXED_SIZE', '_InputArray_FIXED_TYPE', '_InputArray_KIND_MASK', '_InputArray_KIND_SHIFT', '_InputArray_MAT', '_InputArray_MATX', '_InputArray_NONE', '_InputArray_OPENGL_BUFFER', '_InputArray_STD_ARRAY', '_InputArray_STD_ARRAY_MAT', '_InputArray_STD_BOOL_VECTOR', '_InputArray_STD_VECTOR', '_InputArray_STD_VECTOR_CUDA_GPU_MAT', '_InputArray_STD_VECTOR_MAT', '_InputArray_STD_VECTOR_UMAT', '_InputArray_STD_VECTOR_VECTOR', '_InputArray_UMAT', '_OUTPUT_ARRAY_DEPTH_MASK_16F', '_OUTPUT_ARRAY_DEPTH_MASK_16S', '_OUTPUT_ARRAY_DEPTH_MASK_16U', '_OUTPUT_ARRAY_DEPTH_MASK_32F', '_OUTPUT_ARRAY_DEPTH_MASK_32S', '_OUTPUT_ARRAY_DEPTH_MASK_64F', '_OUTPUT_ARRAY_DEPTH_MASK_8S', '_OUTPUT_ARRAY_DEPTH_MASK_8U', '_OUTPUT_ARRAY_DEPTH_MASK_ALL', '_OUTPUT_ARRAY_DEPTH_MASK_ALL_16F', '_OUTPUT_ARRAY_DEPTH_MASK_ALL_BUT_8S', '_OUTPUT_ARRAY_DEPTH_MASK_FLT', '_OutputArray_DEPTH_MASK_16F', '_OutputArray_DEPTH_MASK_16S', '_OutputArray_DEPTH_MASK_16U', '_OutputArray_DEPTH_MASK_32F', '_OutputArray_DEPTH_MASK_32S', '_OutputArray_DEPTH_MASK_64F', '_OutputArray_DEPTH_MASK_8S', '_OutputArray_DEPTH_MASK_8U', '_OutputArray_DEPTH_MASK_ALL', '_OutputArray_DEPTH_MASK_ALL_16F', '_OutputArray_DEPTH_MASK_ALL_BUT_8S', '_OutputArray_DEPTH_MASK_FLT', '__UMAT_USAGE_FLAGS_32BIT', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '__version__', 'absdiff', 'accumulate', 'accumulateProduct', 'accumulateSquare', 'accumulateWeighted', 'adaptiveThreshold', 'add', 'addText', 'addWeighted', 'applyColorMap', 'approxPolyDP', 'arcLength', 'arrowedLine', 'aruco', 'aruco_Board', 'aruco_CharucoBoard', 'aruco_DetectorParameters', 'aruco_Dictionary', 'aruco_GridBoard', 'batchDistance', 'bgsegm', 'bgsegm_BackgroundSubtractorCNT', 'bgsegm_BackgroundSubtractorGMG', 'bgsegm_BackgroundSubtractorGSOC', 'bgsegm_BackgroundSubtractorLSBP', 'bgsegm_BackgroundSubtractorLSBPDesc', 'bgsegm_BackgroundSubtractorMOG', 'bgsegm_SyntheticSequenceGenerator', 'bilateralFilter', 'bioinspired', 'bioinspired_Retina', 'bioinspired_RetinaFastToneMapping', 'bioinspired_TransientAreasSegmentationModule', 'bitwise_and', 'bitwise_not', 'bitwise_or', 'bitwise_xor', 'blur', 'borderInterpolate', 'boundingRect', 'boxFilter', 'boxPoints', 'buildOpticalFlowPyramid', 'calcBackProject', 'calcCovarMatrix', 'calcHist', 'calcOpticalFlowFarneback', 'calcOpticalFlowPyrLK', 'calibrateCamera', 'calibrateCameraExtended', 'calibrateCameraRO', 'calibrateCameraROExtended', 'calibrateHandEye', 'calibrationMatrixValues', 'cartToPolar', 'checkChessboard', 'checkHardwareSupport', 'checkRange', 'circle', 'clipLine', 'colorChange', 'compare', 'compareHist', 'completeSymm', 'composeRT', 'computeCorrespondEpilines', 'computeECC', 'connectedComponents', 'connectedComponentsWithAlgorithm', 'connectedComponentsWithStats', 'connectedComponentsWithStatsWithAlgorithm', 'contourArea', 'convertFp16', 'convertMaps', 'convertPointsFromHomogeneous', 'convertPointsToHomogeneous', 'convertScaleAbs', 'convexHull', 'convexityDefects', 'copyMakeBorder', 'copyTo', 'cornerEigenValsAndVecs', 'cornerHarris', 'cornerMinEigenVal', 'cornerSubPix', 'correctMatches', 'countNonZero', 'createAffineTransformer', 'createAlignMTB', 'createBackgroundSubtractorKNN', 'createBackgroundSubtractorMOG2', 'createButton', 'createCLAHE', 'createCalibrateDebevec', 'createCalibrateRobertson', 'createChiHistogramCostExtractor', 'createEMDHistogramCostExtractor', 'createEMDL1HistogramCostExtractor', 'createGeneralizedHoughBallard', 'createGeneralizedHoughGuil', 'createHanningWindow', 'createHausdorffDistanceExtractor', 'createLineSegmentDetector', 'createMergeDebevec', 'createMergeMertens', 'createMergeRobertson', 'createNormHistogramCostExtractor', 'createShapeContextDistanceExtractor', 'createThinPlateSplineShapeTransformer', 'createTonemap', 'createTonemapDrago', 'createTonemapMantiuk', 'createTonemapReinhard', 'createTrackbar', 'cubeRoot', 'cuda', 'cuda_BackgroundSubtractorMOG', 'cuda_BackgroundSubtractorMOG2', 'cuda_BroxOpticalFlow', 'cuda_BufferPool', 'cuda_CLAHE', 'cuda_CannyEdgeDetector', 'cuda_CascadeClassifier', 'cuda_Convolution', 'cuda_CornernessCriteria', 'cuda_CornersDetector', 'cuda_DFT', 'cuda_DenseOpticalFlow', 'cuda_DensePyrLKOpticalFlow', 'cuda_DescriptorMatcher', 'cuda_DeviceInfo', 'cuda_DisparityBilateralFilter', 'cuda_Event', 'cuda_FarnebackOpticalFlow', 'cuda_FastFeatureDetector', 'cuda_Feature2DAsync', 'cuda_Filter', 'cuda_GpuMat', 'cuda_GpuMat_Allocator', 'cuda_HOG', 'cuda_HostMem', 'cuda_HoughCirclesDetector', 'cuda_HoughLinesDetector', 'cuda_HoughSegmentDetector', 'cuda_LookUpTable', 'cuda_NvidiaHWOpticalFlow', 'cuda_NvidiaOpticalFlow_1_0', 'cuda_ORB', 'cuda_OpticalFlowDual_TVL1', 'cuda_SparseOpticalFlow', 'cuda_SparsePyrLKOpticalFlow', 'cuda_StereoBM', 'cuda_StereoBeliefPropagation', 'cuda_StereoConstantSpaceBP', 'cuda_Stream', 'cuda_TargetArchs', 'cuda_TemplateMatching', 'cudacodec', 'cudacodec_EncoderCallBack', 'cudacodec_EncoderParams', 'cudacodec_RawVideoSource', 'cudacodec_VideoReader', 'cudacodec_VideoWriter', 'cvtColor', 'cvtColorTwoPlane', 'datasets', 'dct', 'decolor', 'decomposeEssentialMat', 'decomposeHomographyMat', 'decomposeProjectionMatrix', 'demosaicing', 'denoise_TVL1', 'destroyAllWindows', 'destroyWindow', 'detail', 'detailEnhance', 'detail_AffineBasedEstimator', 'detail_AffineBestOf2NearestMatcher', 'detail_BestOf2NearestMatcher', 'detail_BestOf2NearestRangeMatcher', 'detail_Blender', 'detail_BlocksChannelsCompensator', 'detail_BlocksCompensator', 'detail_BlocksGainCompensator', 'detail_BundleAdjusterAffine', 'detail_BundleAdjusterAffinePartial', 'detail_BundleAdjusterBase', 'detail_BundleAdjusterRay', 'detail_BundleAdjusterReproj', 'detail_CameraParams', 'detail_ChannelsCompensator', 'detail_DpSeamFinder', 'detail_Estimator', 'detail_ExposureCompensator', 'detail_FeatherBlender', 'detail_FeaturesMatcher', 'detail_GainCompensator', 'detail_GraphCutSeamFinder', 'detail_HomographyBasedEstimator', 'detail_ImageFeatures', 'detail_MatchesInfo', 'detail_MultiBandBlender', 'detail_NoBundleAdjuster', 'detail_NoExposureCompensator', 'detail_NoSeamFinder', 'detail_PairwiseSeamFinder', 'detail_ProjectorBase', 'detail_SeamFinder', 'detail_SphericalProjector', 'detail_Timelapser', 'detail_TimelapserCrop', 'detail_VoronoiSeamFinder', 'determinant', 'dft', 'dilate', 'displayOverlay', 'displayStatusBar', 'distanceTransform', 'distanceTransformWithLabels', 'divide', 'dnn', 'dnn_DictValue', 'dnn_Layer', 'dnn_Net', 'dnn_registerLayer', 'dnn_unregisterLayer', 'dpm_DPMDetector', 'dpm_DPMDetector_ObjectDetection', 'drawChessboardCorners', 'drawContours', 'drawFrameAxes', 'drawKeypoints', 'drawMarker', 'drawMatches', 'drawMatchesKnn', 'edgePreservingFilter', 'eigen', 'eigenNonSymmetric', 'ellipse', 'ellipse2Poly', 'equalizeHist', 'erode', 'error', 'estimateAffine2D', 'estimateAffine3D', 'estimateAffinePartial2D', 'exp', 'extractChannel', 'face', 'face_BIF', 'face_BasicFaceRecognizer', 'face_EigenFaceRecognizer', 'face_FaceRecognizer', 'face_Facemark', 'face_FacemarkAAM', 'face_FacemarkKazemi', 'face_FacemarkLBF', 'face_FacemarkTrain', 'face_FisherFaceRecognizer', 'face_LBPHFaceRecognizer', 'face_MACE', 'face_PredictCollector', 'face_StandardCollector', 'fastAtan2', 'fastNlMeansDenoising', 'fastNlMeansDenoisingColored', 'fastNlMeansDenoisingColoredMulti', 'fastNlMeansDenoisingMulti', 'fillConvexPoly', 'fillPoly', 'filter2D', 'filterHomographyDecompByVisibleRefpoints', 'filterSpeckles', 'find4QuadCornerSubpix', 'findChessboardCorners', 'findChessboardCornersSB', 'findCirclesGrid', 'findContours', 'findEssentialMat', 'findFundamentalMat', 'findHomography', 'findNonZero', 'findTransformECC', 'fisheye', 'fitEllipse', 'fitEllipseAMS', 'fitEllipseDirect', 'fitLine', 'flann', 'flann_Index', 'flip', 'floodFill', 'ft', 'gemm', 'getAffineTransform', 'getBuildInformation', 'getCPUTickCount', 'getDefaultNewCameraMatrix', 'getDerivKernels', 'getFontScaleFromHeight', 'getGaborKernel', 'getGaussianKernel', 'getHardwareFeatureName', 'getNumThreads', 'getNumberOfCPUs', 'getOptimalDFTSize', 'getOptimalNewCameraMatrix', 'getPerspectiveTransform', 'getRectSubPix', 'getRotationMatrix2D', 'getStructuringElement', 'getTextSize', 'getThreadNum', 'getTickCount', 'getTickFrequency', 'getTrackbarPos', 'getValidDisparityROI', 'getVersionMajor', 'getVersionMinor', 'getVersionRevision', 'getVersionString', 'getWindowImageRect', 'getWindowProperty', 'goodFeaturesToTrack', 'grabCut', 'groupRectangles', 'haveImageReader', 'haveImageWriter', 'haveOpenVX', 'hconcat', 'hdf', 'hdf_HDF5', 'hfs', 'hfs_HfsSegment', 'idct', 'idft', 'illuminationChange', 'imdecode', 'imencode', 'img_hash', 'img_hash_AverageHash', 'img_hash_BlockMeanHash', 'img_hash_ColorMomentHash', 'img_hash_ImgHashBase', 'img_hash_MarrHildrethHash', 'img_hash_PHash', 'img_hash_RadialVarianceHash', 'imread', 'imreadmulti', 'imshow', 'imwrite', 'inRange', 'initCameraMatrix2D', 'initUndistortRectifyMap', 'inpaint', 'insertChannel', 'instr', 'integral', 'integral2', 'integral3', 'intersectConvexConvex', 'invert', 'invertAffineTransform', 'ipp', 'isContourConvex', 'kinfu', 'kinfu_KinFu', 'kinfu_Params', 'kmeans', 'line', 'line_descriptor', 'line_descriptor_BinaryDescriptor', 'line_descriptor_BinaryDescriptorMatcher', 'line_descriptor_DrawLinesMatchesFlags', 'line_descriptor_KeyLine', 'line_descriptor_LSDDetector', 'line_descriptor_LSDParam', 'linearPolar', 'linemod', 'linemod_ColorGradient', 'linemod_DepthNormal', 'linemod_Detector', 'linemod_Feature', 'linemod_Match', 'linemod_Modality', 'linemod_QuantizedPyramid', 'linemod_Template', 'log', 'logPolar', 'magnitude', 'matMulDeriv', 'matchShapes', 'matchTemplate', 'max', 'mean', 'meanShift', 'meanStdDev', 'medianBlur', 'merge', 'min', 'minAreaRect', 'minEnclosingCircle', 'minEnclosingTriangle', 'minMaxLoc', 'mixChannels', 'ml', 'ml_ANN_MLP', 'ml_Boost', 'ml_DTrees', 'ml_EM', 'ml_KNearest', 'ml_LogisticRegression', 'ml_NormalBayesClassifier', 'ml_ParamGrid', 'ml_RTrees', 'ml_SVM', 'ml_SVMSGD', 'ml_StatModel', 'ml_TrainData', 'moments', 'morphologyEx', 'motempl', 'moveWindow', 'mulSpectrums', 'mulTransposed', 'multicalib', 'multiply', 'namedWindow', 'norm', 'normalize', 'ocl', 'ocl_Device', 'ogl', 'omnidir', 'optflow', 'optflow_DenseRLOFOpticalFlow', 'optflow_DualTVL1OpticalFlow', 'optflow_GPCDetails', 'optflow_GPCPatchDescriptor', 'optflow_GPCPatchSample', 'optflow_GPCTrainingSamples', 'optflow_GPCTree', 'optflow_OpticalFlowPCAFlow', 'optflow_PCAPrior', 'optflow_RLOFOpticalFlowParameter', 'optflow_SparseRLOFOpticalFlow', 'patchNaNs', 'pencilSketch', 'perspectiveTransform', 'phase', 'phaseCorrelate', 'phase_unwrapping_HistogramPhaseUnwrapping', 'phase_unwrapping_PhaseUnwrapping', 'plot', 'plot_Plot2d', 'pointPolygonTest', 'polarToCart', 'polylines', 'pow', 'ppf_match_3d', 'ppf_match_3d_ICP', 'ppf_match_3d_PPF3DDetector', 'ppf_match_3d_Pose3D', 'ppf_match_3d_PoseCluster3D', 'preCornerDetect', 'projectPoints', 'putText', 'pyrDown', 'pyrMeanShiftFiltering', 'pyrUp', 'quality', 'quality_QualityBRISQUE', 'quality_QualityBase', 'quality_QualityGMSD', 'quality_QualityMSE', 'quality_QualityPSNR', 'quality_QualitySSIM', 'randShuffle', 'randn', 'randu', 'readOpticalFlow', 'recoverPose', 'rectangle', 'rectify3Collinear', 'redirectError', 'reduce', 'reg', 'reg_Map', 'reg_MapAffine', 'reg_MapProjec', 'reg_MapShift', 'reg_MapTypeCaster', 'reg_Mapper', 'reg_MapperGradAffine', 'reg_MapperGradEuclid', 'reg_MapperGradProj', 'reg_MapperGradShift', 'reg_MapperGradSimilar', 'reg_MapperPyramid', 'remap', 'repeat', 'reprojectImageTo3D', 'resize', 'resizeWindow', 'rgbd', 'rgbd_DepthCleaner', 'rgbd_FastICPOdometry', 'rgbd_ICPOdometry', 'rgbd_Odometry', 'rgbd_OdometryFrame', 'rgbd_RgbdFrame', 'rgbd_RgbdICPOdometry', 'rgbd_RgbdNormals', 'rgbd_RgbdOdometry', 'rgbd_RgbdPlane', 'rotate', 'rotatedRectangleIntersection', 'saliency', 'saliency_MotionSaliency', 'saliency_MotionSaliencyBinWangApr2014', 'saliency_Objectness', 'saliency_ObjectnessBING', 'saliency_Saliency', 'saliency_StaticSaliency', 'saliency_StaticSaliencyFineGrained', 'saliency_StaticSaliencySpectralResidual', 'samples', 'sampsonDistance', 'scaleAdd', 'seamlessClone', 'selectROI', 'selectROIs', 'sepFilter2D', 'setIdentity', 'setMouseCallback', 'setNumThreads', 'setRNGSeed', 'setTrackbarMax', 'setTrackbarMin', 'setTrackbarPos', 'setUseOpenVX', 'setUseOptimized', 'setWindowProperty', 'setWindowTitle', 'sfm', 'sfm_BaseSFM', 'sfm_SFMLibmvEuclideanReconstruction', 'sfm_libmv_CameraIntrinsicsOptions', 'sfm_libmv_ReconstructionOptions', 'solve', 'solveCubic', 'solveLP', 'solveP3P', 'solvePnP', 'solvePnPGeneric', 'solvePnPRansac', 'solvePnPRefineLM', 'solvePnPRefineVVS', 'solvePoly', 'sort', 'sortIdx', 'spatialGradient', 'split', 'sqrBoxFilter', 'sqrt', 'startWindowThread', 'stereoCalibrate', 'stereoCalibrateExtended', 'stereoRectify', 'stereoRectifyUncalibrated', 'structured_light', 'structured_light_GrayCodePattern', 'structured_light_SinusoidalPattern', 'structured_light_SinusoidalPattern_Params', 'structured_light_StructuredLightPattern', 'stylization', 'subtract', 'sumElems', 'text', 'text_BaseOCR', 'text_ERFilter', 'text_ERFilter_Callback', 'text_OCRBeamSearchDecoder', 'text_OCRBeamSearchDecoder_ClassifierCallback', 'text_OCRHMMDecoder', 'text_OCRHMMDecoder_ClassifierCallback', 'text_OCRTesseract', 'text_TextDetector', 'text_TextDetectorCNN', 'textureFlattening', 'threshold', 'trace', 'transform', 'transpose', 'triangulatePoints', 'undistort', 'undistortPoints', 'undistortPointsIter', 'useOpenVX', 'useOptimized', 'utils', 'validateDisparity', 'vconcat', 'videoio_registry', 'videostab', 'waitKey', 'waitKeyEx', 'warpAffine', 'warpPerspective', 'warpPolar', 'watershed', 'writeOpticalFlow', 'xfeatures2d', 'xfeatures2d_BoostDesc', 'xfeatures2d_BriefDescriptorExtractor', 'xfeatures2d_DAISY', 'xfeatures2d_FREAK', 'xfeatures2d_HarrisLaplaceFeatureDetector', 'xfeatures2d_LATCH', 'xfeatures2d_LUCID', 'xfeatures2d_MSDDetector', 'xfeatures2d_PCTSignatures', 'xfeatures2d_PCTSignaturesSQFD', 'xfeatures2d_SIFT', 'xfeatures2d_SURF', 'xfeatures2d_StarDetector', 'xfeatures2d_VGG', 'ximgproc', 'ximgproc_AdaptiveManifoldFilter', 'ximgproc_ContourFitting', 'ximgproc_DTFilter', 'ximgproc_DisparityFilter', 'ximgproc_DisparityWLSFilter', 'ximgproc_EdgeAwareInterpolator', 'ximgproc_EdgeBoxes', 'ximgproc_FastBilateralSolverFilter', 'ximgproc_FastGlobalSmootherFilter', 'ximgproc_FastLineDetector', 'ximgproc_GuidedFilter', 'ximgproc_RFFeatureGetter', 'ximgproc_RidgeDetectionFilter', 'ximgproc_SparseMatchInterpolator', 'ximgproc_StructuredEdgeDetection', 'ximgproc_SuperpixelLSC', 'ximgproc_SuperpixelSEEDS', 'ximgproc_SuperpixelSLIC', 'ximgproc_segmentation_GraphSegmentation', 'ximgproc_segmentation_SelectiveSearchSegmentation', 'ximgproc_segmentation_SelectiveSearchSegmentationStrategy', 'ximgproc_segmentation_SelectiveSearchSegmentationStrategyColor', 'ximgproc_segmentation_SelectiveSearchSegmentationStrategyFill', 'ximgproc_segmentation_SelectiveSearchSegmentationStrategyMultiple', 'ximgproc_segmentation_SelectiveSearchSegmentationStrategySize', 'ximgproc_segmentation_SelectiveSearchSegmentationStrategyTexture', 'xphoto', 'xphoto_GrayworldWB', 'xphoto_LearningBasedWB', 'xphoto_SimpleWB', 'xphoto_TonemapDurand', 'xphoto_WhiteBalancer']
"""

我将上述dir显示的所有方法都打印在了上面,可以复制下来对比哪些方法能用,哪些不能。对于进行GPU编译过的opencv来讲,cv2.cuda下的基本都是GPU方法,而cv2里的方法还是CPU的,这也导致了opencv的局限性,因为目前所提供的编译版本的cuda方法都是基于图像的变化和算法,对流的部分是一个空缺,所以如果如果要对视频做操作的话,很大概率会导致内存泄漏:

详解python中GPU版本的opencv常用方法介绍

这是我之前的valgrind测试报告,可以很明显的看出在用opencv进行操作的时候有内存泄漏。所以如果只是对图片做某些算法操作,比如DNN、canny等,速度提升是很明显的。但只是resize或者read这样的操作,都无法发挥出GPU本来的优势,运行效率反而不如直接CPU快,具体原因可以看我下面的三种写法:

OpenCV Mat与UMat

OpenCV3以后引入了一个新的图像容器对象UMat,它的使用与功能基本和Mat类似,但一个代表着将图片存进GPU,一个是CPU,UMat格式需要支持openCL,OpenCL是一个面向异构系统通用的并行编程标准,也是基于此,才能在opencv中实现UMat和Mat的转换:

cv::Mat inMat, outMat;
vidInput  inMat;
cv::cvtColor(inMat, outMat, cv::COLOR_RGB2GRAY);
vidOutput << outMat;

上面是C++的伪代码,而python的写法和这个类似:

img_Mat = cv2.imread('test.jpg') # 16-bit float, <class 'numpy.ndarray'>
img_UMat = cv2.UMat(img_Mat)  # 16-bit float, <class 'cv2.UMat'>

在opencv-python中,目前我已知的4.1.0以上版本是都有同意OpenGL,如果想知道到底支不支持,可以输入如下代码测试:

import cv2
print('OpenCL available:', cv2.ocl.haveOpenCL())

返回True即为支持openCL,而如果项目中报错"cv::ocl::OpenCLAllocator::upload",这是因为当前版本的openCL与显卡驱动或者说cuda不兼容,所以安全起见,可以设置cv2.ocl.setUseOpenCL(False)。

另外,在GPU enabled OpenCV in Python中,写了一个例子:

"""
cpu_gpu.py
An OpenCL-OpenCV-Python CPU vs GPU comparison
"""
import cv2
import timeit

# A simple image pipeline that runs on both Mat and Umat
def img_cal(img, mode):
 if mode=='UMat':
  img = cv2.UMat(img)
 img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
 img = cv2.GaussianBlur(img, (7, 7), 1.5)
 img = cv2.Canny(img, 0, 50)
 if type(img) == 'cv2.UMat': 
  img = cv2.UMat.get(img)
 return img

# Timing function
def run(processor, function, n_threads, N):
 cv2.setNumThreads(n_threads)
 t = timeit.timeit(function, globals=globals(), number=N)/N*1000
 print('%s avg. with %d threads: %0.2f ms' % (processor, n, t))
 return t

img = cv2.imread('ct.tif') 
N = 1000
threads = [1, 16]

processor = {'GPU': "img_cal(img_UMat)", 
    'CPU': "img_cal(img)"}
results = {}
for n in n_threads: 
 for pro in processor.keys():
  results[pro,n] = run(processor=pro, 
        function= processor[pro], 
        n_threads=n, N=N)

print('\nGPU speed increase over 1 CPU thread [%%]: %0.2f' %   (results[('CPU', 1)]/results[('GPU', 1)]*100))
print('CPU speed increase on 4 threads versus 1 thread [%%]: %0.2f' %   (results[('CPU', 1)]/results[('CPU', 16)]*100))
print('GPU speed increase versus 4 threads [%%]: %0.2f' %   (results[('CPU', 4)]/results[('CPU', 1)]*100))

这段代码分别计算了GPU和CPU对于图像进行灰度化到边缘检测的时间,然后看起来测试结果是比较让人满意的:

GPU avg. with 1 threads: 2.07 ms
CPU avg. with 1 threads: 5.70 ms
GPU avg. with 16 threads: 2.09 ms
CPU avg. with 16 threads: 2.70 ms

GPU speed increase over 1 CPU thread [%]: 275.11
CPU speed increase on 16 threads versus 1 CPU thread [%]: 210.82
GPU speed increase versus 16 CPU threads [%]: 47.43

但实际上,我在多进程读取图像做分析的时候发现,如果用UMat的格式,其生产图片的效率远远没有我消费速度快,因为我没有做什么算法相关操作,并且在进程数达到一定量,它会出现异常,也就是说,在我的测试中,它并不太适用于多进程或者多线程,虽然这个是最简单的方案。

使用GPU下的opencv

使用的步骤与上面方法类似,只是OpenCV中GPU模块,已经封装的内核函数的调用,其使用步骤如下:

1.验证OpenCV是否已启用GPU模块。

2.上传待处理数据到GPU (Mat --> GpuMat)。

3.调用OpenCV支持的GPU的处理函数。

4.下载处理结果到CPU (GpuMat —> Mat)。

其示例程序如下,完成颜色转换,BGR2GRAY。

这个版本的方法就比上面Umat的方式多很多,也是我在开头引用的所有函数以及相关对象方法都是经过GPU编译的opencv,这个版本是一定要经过编译的,编译的坑我会在之后的博文中说明,那么在编译成功后,就可以看到我介绍的函数,以及GitHub中有一个demo可以运行:

#!/usr/bin/env python

'''
CUDA-accelerated Computer Vision functions
'''

# Python 2/3 compatibility
from __future__ import print_function

import numpy as np
import cv2 as cv
import os

from tests_common import NewOpenCVTests, unittest

class cuda_test(NewOpenCVTests):
 def setUp(self):
  super(cuda_test, self).setUp()
  if not cv.cuda.getCudaEnabledDeviceCount():
   self.skipTest("No CUDA-capable device is detected")

 def test_cuda_upload_download(self):
  npMat = (np.random.random((128, 128, 3)) * 255).astype(np.uint8)
  cuMat = cv.cuda_GpuMat()
  cuMat.upload(npMat)

  self.assertTrue(np.allclose(cuMat.download(), npMat))

 def test_cuda_interop(self):
  npMat = (np.random.random((128, 128, 3)) * 255).astype(np.uint8)
  cuMat = cv.cuda_GpuMat()
  cuMat.upload(npMat)
  self.assertTrue(cuMat.cudaPtr() != 0)
  stream = cv.cuda_Stream()
  self.assertTrue(stream.cudaPtr() != 0)

if __name__ == '__main__':
 NewOpenCVTests.bootstrap()

关于上述更详细的参数介绍,可以通过opencv官方的C++文档进行比对:

cv::cuda::GpuMat Class Reference

上面的代码如果理解了UMat格式的定义,那么这里的opencv产生的数据结构就是gpu_mat,相对应的get方法换成了download,而图片首先要upload进这个gpu_mat容器里,它要比UMat更可靠与完整,在opencv4.1以后已经建立了相关的生态体系,除了解码之外,我看到大多数用opencv的都是在用GPU的dnn算法,从issue的实验结果上看,确实提升是巨大的。

但这里还是有一个问题,如果出现内存泄漏,怎样去规避和降低,这个只能说因代码而异了。。我在kaggle和opencv官网上找到了两种方案来解决这个问题,但对我来说没啥作用,但如果出现了泄漏,这两种可以参考:

使用gc手动回收:

import cv2
import os
import gc

images_path = "../input/aptos2019-blindness-detection/train_images/"
image_names = os.listdir(images_path)
for image_name in image_names:
 img = cv2.imread(images_path + image_name)
 del img
 gc.collect()

https://www.kaggle.com/c/aptos2019-blindness-detection/discussion/106622

使用qimage2ndarray库:

def display_video_stream(self):
"""Read frame from camera and repaint QLabel widget.
"""

_, frame = self.capture.read()

frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# frame = cv2.flip(frame, 1)
image = qimage2ndarray.array2qimage(frame) #Solution for memory leak
self.image_label.setPixmap(QPixmap.fromImage(image))

https://answers.opencv.org/question/136206/memory-leak-while-using-cv2videocapture/

最后,我引用一张opencv使用cuda运行程序的流程图来说明内部过程,取自【OpenCV】OpenCV中GPU模块使用,我觉得是比较生动形象了:

详解python中GPU版本的opencv常用方法介绍