2017-04-06 198 views
1

我想问一个最初看起来很简单的问题,但最终证明很难做到这一点。 问题是:如何将OpenCV点的坐标转换为Unity坐标(Vector2)。 我有一个摄像头的视频,我可以识别脸部,只有当人在椭圆形边框时,用户才能拍摄照片(如FaceApp)。 问题是我使用LineRenderer绘制椭圆,并且无法将其点的坐标与面上的点的坐标进行比较,因为这些是OpenCV点的坐标。 什么样的决定最适合我?OpenCV坐标转换

回答

1

我认为OpenCV Point您的意思是System.Drawing.Point(请参阅docs)?如果您正在使用该变量,则可以按如下方式进行转换:

public static Vector2 ToVector2(Point point) 
{ 
    return new Vector2(point.X, point.Y); 
} 
+0

否))此点的坐标位于OpenCV的坐标轴中。与Unity轴相反,y轴指向下方。因此,出现这样一个问题,即将坐标作为一般视图,以便进行计算。 据我所知,坐标被视为本地,相对于在其中呈现视频流的对象,但这有所帮助))) –