opencv(gpu模块)

FGDStatModel:包含复杂背景的视频中的前景对象检测
MOG_GPU:基于高斯混合的背景和前景分割算法
MOG2_GPU:Improved Adaptive Gaussian Mixture Model for Background Subtraction
GMG_GPU:背景减法器模块

BroxOpticalFlow:光流(计算出相邻帧之间物体的运动信息的一种方法,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的)。
(1)基于区域或者基于特征的匹配方法;
(2)基于频域的方法;
(3)基于梯度的方法;
运动场,其实就是物体在三维真实世界中的运动;
光流场,是运动场在二维图像平面上的投影。
在x、y、t上微分得到运动矢量!!!
光流法用于目标检测的原理:给图像中的每个像素点赋予一个速度矢量,这样就形成了一个运动矢量场。在某一特定时刻,图像上的点与三维物体上的点一一对应,这种对应关系可以通过投影来计算得到。根据各个像素点的速度矢量特征,可以对图像进行动态分析。如果图像中没有运动目标,则光流矢量在整个图像区域是连续变化的。当图像中有运动物体时,目标和背景存在着相对运动。运动物体所形成的速度矢量必然和背景的速度矢量有所不同,如此便可以计算出运动物体的位置。需要提醒的是,利用光流法进行运动物体检测时,计算量较大,无法保证实时性和实用性。

//FarnebackOpticalFlow
GpuMat d_frame0(frame0Gray);
GpuMat d_frame1(frame1Gray);
BroxOpticalFlow d_flow(alpha, gamma, scale, inner_iterations, outer_iterations, solver_iterations);
GpuMat d_fu, d_fv;
d_flow(d_frame0, d_frame1, d_fu, d_fv);
getFlowField(Mat(d_fu), Mat(d_fv), flowFieldForward);


http://blog.csdn.net/carson2005/article/details/7581642


CascadeClassifier_GPU:用于目标检测的级联分类器类
GeneralizedHough_GPU:使用广义Hough变换在灰度图像中找到任意模板
cv::gpu::morphologyEx(src, dst, CV_MOP_OPEN, element):将高级形态学操作应用于图像
cv::gpu::erode(src, dst, element):腐蚀图像
cv::gpu::dilate(src, dst, element):膨胀图像


BruteForceMatcher_GPU matcher Error:


ORB descriptor extractor returns 8-bit descriptors. Use Hamming distance for this descriptors:


BruteForceMatcher_GPU matcher;
matcher.knnMatch(descriptors_test_GPU, descriptors_tmp_GPU, matches, 2);


BruteForceMatcher_GPU with L2 norm supports only float descriptors (like from SURF).

你可能感兴趣的:(opencv,gpu)