算法
Joemt
这个作者很懒,什么都没留下…
展开
-
Camshift算法
Camshift算法目的是为了解决meanshift算法中检测窗口大小固定问题,该算法利用零阶距和xy方向的一阶距来实现对窗口大小进行估算。步骤:1、 获取目标窗口直方图2、 利用该直方图获取图像方向投影图3、 利用目标窗口参数获取其窗口直方图和反向投影图(meanshift)4、 计算其窗口反向投影图零阶距和xy方向的一阶距5、 计算新的窗口中心6、 判断窗口偏移量是否小于阈值,如...原创 2020-01-17 10:04:14 · 1592 阅读 · 0 评论 -
平面检测(HoughTransform)
霍夫变换大多都用在二维平面中的线、圆检测,这里将其扩展到三维空间点的平面检测。其中建立的霍夫变换空间如下:核心代码:#include <iostream>#include <opencv2/opencv.hpp>#include <string>#include <math.h>#include <vector>#inc...原创 2020-01-14 14:21:49 · 2291 阅读 · 0 评论 -
特征匹配目标跟踪(FAST+ORB)
这里直接用的是opencv3.0.0自带函数进行处理。#include <iostream>#include <signal.h>#include <vector>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;bool tracking = ...原创 2020-01-08 16:59:00 · 2035 阅读 · 1 评论 -
Mean shift目标跟踪算法
Mean shift作为一种跟踪算法经常被用到。它是一种无参数密度估计寻找局部极值的迭代逼近算法。Mean shift直观描述其中红点为特征点,蓝色为检测区域,黑点为检测区域中心,黑色虚线箭头为中心点到特征点向量,黄色箭头为检测区域内中心点到所有特征点向量和,是一个向量,这里称其为Mean shift向量(漂移向量)。经过一次迭代,中心点向最优区域移动,移动量为上一漂移向量。经过多次...原创 2020-01-08 15:30:25 · 1725 阅读 · 1 评论 -
粒子滤波算法理解及实现
粒子滤波算法是一种非线性的滤波方法。其大致思路如下(这里以图像目标(人)跟踪为例):1、 首先在整个图像中随机初始化一些粒子点,并对每个粒子点分配权值2、 在视频中框出待跟踪目标3、 更新权值,增加靠近框出的目标粒子权值4、 根据状态转移矩阵和测量数据,对粒子权重,对粒子进行重采样粒子滤波示过程示意图初始化图像粒子点和权重框出待跟踪目标更新权重,其中权重较小的直接舍弃,权值较...原创 2019-12-31 23:00:36 · 13949 阅读 · 3 评论 -
RANSAC算法简单理解
RANSAC算法称为随机抽样一致性,是一种拟合模型,该算法可以在数据中存在大量噪声(有效点多于噪声)时,可以较好的获取该模型,该算法在大多数情况下较最小二乘法好。RANSAC算法思路:(1) 先随机获取模型最少点,计算出模型参数(2) 对数据中的每个点,计算其与模型的距离值(3) 如果距离小于设置阈值,内点数加一(4) 循环完一遍,计算内点数所占比例(5) 再次随机获取模型最少点,计算...原创 2019-12-30 16:17:46 · 508 阅读 · 0 评论 -
卡尔曼滤波(Kalman Filter)理解及实现
#include "opencv2/video/tracking.hpp"#include "opencv2/highgui/highgui.hpp"#include <stdio.h>#include<iostream>using namespace cv;using namespace std;const int winHeight = 600;cons...原创 2019-12-27 17:49:12 · 1396 阅读 · 0 评论 -
齐次坐标表示向量与坐标理解
在相机变换中经常会遇到利用齐次坐标进行运算的情况,以前都是感觉模模糊糊。今天看了一些文章,对它有了进一步的自我理解。先下结论:(x, y, z, 1) 表示坐标点:表示坐标系中一个固定的坐标点(x, y, z, 0) 表示向量:表示坐标系中一个有向线段这里可以看出,区别就是0与1。点的重点在点,向量的重点在方向。有上面两者的定义,可以大概说点是一个固定的值,即在坐标系中可以找到该点即可;...原创 2019-12-13 16:45:30 · 3625 阅读 · 0 评论 -
并查集(union-find)算法理解
在图像处理中,往往会遇到连通域判断的情况,而在处理过程中往往是利用并查集(union-find)算法。并查集(Union-Find)是解决动态连通性问题的一类非常高效的数据结构。并查集主要分为两个过程;1、查,2、并。查主要目的是查找满足联通的点,并主要目的是将查到的点合并到连通域中。并查集有三种常见算法:quick-find、quick-union、加权quick-union,其中检测速度也...原创 2019-12-08 14:06:54 · 656 阅读 · 0 评论