visionpro的CogRectangleAffine在旋转之后,有函数能直接拿到4顶点坐标吗?
// 假设你已经有一个CogRectangleAffine对象名为rectangleAffine// 获取包围盒的中心点坐标
double centerX = rectangleAffine.CenterX;
double centerY = rectangleAffine.CenterY;
// 获取包围盒的宽度和高度
double width = rectangleAffine.SideXLength;
double height = rectangleAffine.SideYLength;
// 获取包围盒的角度(弧度)
double angle = rectangleAffine.Rotation;
// 计算四个顶点相对于中心点的偏移量
double offsetX = width / 2 * Math.Cos(angle) - height / 2 * Math.Sin(angle);
double offsetY = width / 2 * Math.Sin(angle) + height / 2 * Math.Cos(angle);
// 计算四个顶点的坐标
double[] vertexX = new double;
double[] vertexY = new double;
vertexX = centerX + offsetX;
vertexY = centerY + offsetY;
vertexX = centerX - offsetX;
vertexY = centerY - offsetY;
vertexX = centerX - offsetX;
vertexY = centerY - offsetY;
vertexX = centerX + offsetX;
vertexY = centerY + offsetY;
// 打印顶点坐标
for (int i = 0; i < 4; i++)
{
Console.WriteLine("顶点 {0}: ({1}, {2})", i+1, vertexX, vertexY);
}
上述代码通过计算中心点坐标、宽度、高度和角度,以及顶点相对于中心点的偏移量,计算出CogRectangleAffine包围盒旋转后的四个顶点坐标。
请注意,这里假设CogRectangleAffine包围盒是相对于图像的原点进行旋转的。如果旋转中心不是图像的原点,你可能需要根据具体情况进行适当的调整。 本帖最后由 test0730 于 2023-10-20 10:02 编辑
openai这段写得不行....存在形变的情况,专业软件写得不好,还得练
页:
[1]