如果两组点在图像上的类似位置,我对要比较的算法有疑问。
他们不会创建类似circles
,rectangles
等类似的形状,但它们类似于irregular clouds
。
例如:
第一个点云是在图像上学习所需区域的集合,我们正在检查第二个云是否处于类似位置。
我正在考虑绘制简单的形状来形成点(比如将会累积所有点的矩形),并检查一个是否在另一个或图形中心之间的距离,但这种方法看起来并不准确。
有没有更好的算法来解决这个问题?
答案 0 :(得分:1)
不要担心the fancy name,它只是图像处理中的标准方法,可以完全满足您的需求。
图像的力矩n w.r.t. x和m w.r.t.实际上是 (像素值* xPosition ^ n * xPosition ^ m)的积分 整个形象。
所以(0,0)阶时刻,即时刻(0,0)实际上是云的面积。
类似地,时刻(1,0)/时刻(0,0)是云的质心的X坐标。 并且,时刻(0,1)/时刻(0,0)是云的质心的Y坐标。
高阶矩给出了云形状特有的附加特征/信息。
现在您可以轻松比较任意形状 这些函数在opencv和matlab中可用。
希望这有帮助。
祝你好运。
答案 1 :(得分:0)
集合将具有非常相似的形状(它将是来自kinect>传感器的人体骨骼点)并且我想检查人是否坐在与在>中学习的相同的位置。第一名
然后你可能能够在两点之间得到对应关系(即你知道给定的点是SHOULDER_RIGHT或ELBOW_LEFT或......)。如果是这种情况,您可以简单地为每个第i对点(X1,Y1)和(X2,Y2)计算SUM(SQRT((Xi1-Xi2)^2+(Yi1-Yi2)^2)
(如果您可以获得第三维Z,则相同)。
当两组点完全一致时,这样获得的值将至少为零。