1. 程式人生 > 程式設計 >詳解python中GPU版本的opencv常用方法介紹

詳解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__','__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','FastFeatureDetector','FastFeatureDetector_FAST_N','FastFeatureDetector_NONMAX_SUPPRESSION','FastFeatureDetector_THRESHOLD','FastFeatureDetector_TYPE_5_8','FastFeatureDetector_TYPE_7_12','FastFeatureDetector_TYPE_9_16','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','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','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','__file__','__version__','accumulate','accumulateProduct','accumulateSquare','accumulateWeighted','adaptiveThreshold','addText','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','bioinspired','bioinspired_Retina','bioinspired_RetinaFastToneMapping','bioinspired_TransientAreasSegmentationModule','blur','borderInterpolate','boundingRect','boxFilter','boxPoints','buildOpticalFlowPyramid','calcBackProject','calcCovarMatrix','calcOpticalFlowFarneback','calcOpticalFlowPyrLK','calibrateCamera','calibrateCameraExtended','calibrateCameraRO','calibrateCameraROExtended','calibrateHandEye','calibrationMatrixValues','checkChessboard','checkHardwareSupport','checkRange','circle','clipLine','colorChange','compareHist','completeSymm','composeRT','computeCorrespondEpilines','computeECC','connectedComponents','connectedComponentsWithAlgorithm','connectedComponentsWithStats','connectedComponentsWithStatsWithAlgorithm','contourArea','convertFp16','convertMaps','convertPointsFromHomogeneous','convertPointsToHomogeneous','convertScaleAbs','convexHull','convexityDefects','cornerEigenValsAndVecs','cornerHarris','cornerMinEigenVal','cornerSubPix','correctMatches','createAffineTransformer','createAlignMTB','createBackgroundSubtractorKNN','createButton','createCalibrateDebevec','createCalibrateRobertson','createChiHistogramCostExtractor','createEMDHistogramCostExtractor','createEMDL1HistogramCostExtractor','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','cvtColorTwoPlane','datasets','dct','decolor','decomposeEssentialMat','decomposeHomographyMat','decomposeProjectionMatrix','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','dilate','displayOverlay','displayStatusBar','distanceTransform','distanceTransformWithLabels','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','erode','error','estimateAffine2D','estimateAffine3D','estimateAffinePartial2D','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','floodFill','ft','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','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','logPolar','matMulDeriv','matchShapes','matchTemplate','mean','meanShift','medianBlur','minAreaRect','minEnclosingCircle','minEnclosingTriangle','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','mulTransposed','multicalib','namedWindow','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','phaseCorrelate','phase_unwrapping_HistogramPhaseUnwrapping','phase_unwrapping_PhaseUnwrapping','plot','plot_Plot2d','pointPolygonTest','polylines','ppf_match_3d','ppf_match_3d_ICP','ppf_match_3d_PPF3DDetector','ppf_match_3d_Pose3D','ppf_match_3d_PoseCluster3D','preCornerDetect','projectPoints','putText','pyrMeanShiftFiltering','quality','quality_QualityBRISQUE','quality_QualityBase','quality_QualityGMSD','quality_QualityMSE','quality_QualityPSNR','quality_QualitySSIM','randShuffle','randn','randu','readOpticalFlow','recoverPose','rectangle','rectify3Collinear','redirectError','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','repeat','resizeWindow','rgbd','rgbd_DepthCleaner','rgbd_FastICPOdometry','rgbd_ICPOdometry','rgbd_Odometry','rgbd_OdometryFrame','rgbd_RgbdFrame','rgbd_RgbdICPOdometry','rgbd_RgbdNormals','rgbd_RgbdOdometry','rgbd_RgbdPlane','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','sqrBoxFilter','startWindowThread','stereoCalibrate','stereoCalibrateExtended','stereoRectify','stereoRectifyUncalibrated','structured_light','structured_light_GrayCodePattern','structured_light_SinusoidalPattern','structured_light_SinusoidalPattern_Params','structured_light_StructuredLightPattern','stylization','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','trace','transform','triangulatePoints','undistort','undistortPoints','undistortPointsIter','useOpenVX','useOptimized','utils','validateDisparity','vconcat','videoio_registry','videostab','waitKey','waitKeyEx','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,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,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常用方法介紹

到此這篇關於詳解python中GPU版本的opencv常用方法介紹的文章就介紹到這了,更多相關python中GPU版本的opencv內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!