参考,OpenCv\samples\c\lkdemo.c
有人知道下面的代码片段是做什么的吗?
从 lkdemo.c 中提取的代码
for( i = k = 0; i < count; i++ )
{
if( add_remove_pt )
{
double dx = pt.x - points[1][i].x;
double dy = pt.y - points[1][i].y;
if( dx*dx + dy*dy <= 25 )
{
add_remove_pt = 0;
continue;
}
}
if( !status[i] )
continue;
points[1][k++] = points[1][i];
cvCircle( image, cvPointFrom32f(points[1][i]), 3, CV_RGB(0,255,0), -1, 8,0);
}
count = k;
Q1。
粗线有什么作用?>> 点数[1][k++] = 点数[1][i];
为什么是 k++ ?我很困惑,认为下一点被当前点覆盖
Q2。
随着框架循环绘制 cvCircle id,旧点在哪里清除并在哪里绘制新点?
我期待您的意见。
谢谢 =)