我有一只手的图像,并将其传递给经过训练的 hand pose estimation 模型
,并获得了此输出。
输出
任务
现在,我想在手周围绘制一个矩形以执行一些任务。
如何仅使用这些关键点(而不使用其他模型)在手周围绘制一个矩形。
如果您有兴趣知道为什么我需要该矩形。
我想通过将矩形内的所有点除以矩形的宽度和高度并将左上角的点设置为0s,将底角的点设置为1s,将矩形内的所有点归一化为(0,1)的范围。
答案 0 :(得分:3)
我已经有一段时间没有使用OpenCV了,因此我可以想到的最简单的方法就是不使用它的方法,而是使用关键点位置列表并找到最小/最大x和y值。
也就是说,遍历点列表(我假设每个点都有给定的x和y),并存储最小x和y以及最大x和y。为此,您将需要根据图像的大小初始化变量,或者将所有x和y存储在它们自己的单独列表中,并相应地执行min和max函数。
因此,矩形由(x_min,y_min)和(x_max,y_max)的2个角点定义,您也可以使用减法来提取宽度和高度。确保图形参考与点的xy参考匹配。要实际绘制矩形,您可以参考以下代码:here