gpt4 book ai didi

opencv - 在opencv中通过跟踪手指画线

转载 作者:太空宇宙 更新时间:2023-11-03 23:17:28 24 4
gpt4 key购买 nike

我是 opencv 的新手,我想检测一根手指是否抬起它会在屏幕上画一条线,我阅读了一些教程,我成功地跟踪了手指点并且它正在不断更新。我做了类似下面的事情.当我移动手指时,它确实画了一条短红线,但它是短暂的,之后就消失了。我需要画线留在那里,但我不知道该怎么做,也找不到解决方案,我真的很希望收到你的来信,非常感谢。

int lastx = -1;
int lasty = -1;

void trackingfinger(....)
{
.........
if(drawing == true)
draw(BGR_frame,Point finger)
}


void draw(BGR_frame, Point finger)
{
int x = finger.x;
int y = finger.y;

if (lastx > 0 && lasty > 0 && x > 0 && y > 0)
{
line(BGR_frame, Point(x, y), Point(lastx, lasty), Scalar(0, 0, 255), 2);
}

lastx = x;
lasty = y;
}

int main (void)
{
while(true)
{
..... the function is called here.
}
}

最佳答案

如果我正确理解了代码的呈现部分,你就不能这样做。你如何决定绘画何时开始,何时结束? line 函数需要一个起点和一个终点。

要么一个像素一个像素“画”出来,手指移动的所有坐标,如果要跟着手指走=>到最后不会是一条线

或者执行一些 Action ,告诉“现在手指指向起点”和“现在它指向终点”

关于opencv - 在opencv中通过跟踪手指画线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36919942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com