【发布时间】:2013-04-08 15:20:55
【问题描述】:
我正在为我的项目使用 EMGU CV,但遇到了一个奇怪的问题。
我使用 cannyedges 在照片中找到一些正方形。
这工作正常。之后我想在每个正方形内取一个像素并用它来绘制边框。
我面临的问题是我需要每个角的顶点才能生成随机像素。 为此,我使用以下代码:
PointF[] corners = rectangle.GetVertices();
float x = Math.Max(corners[1].X, corners[0].X);
float y = Math.Max(corners[1].Y, corners[2].Y);
float width = Math.Min(corners[2].X, corners[3].X) - x;
float height = Math.Min(corners[0].Y, corners[3].Y) - y;
这段代码的问题在于 rectangle.GetVertices();每次给出不同的角落顺序。
第一个矩形返回左下角为角 0,左上角为角 1 等。
第二个矩形如何返回右下角为角 0,左下角为角 1 等等。
我想知道是否有其他人遇到此问题,是否有人知道如何解决此问题?
如果您需要更多信息来回答这个问题,请告诉我。
【问题讨论】:
-
我也有同样的问题。顶点的顺序不同。
标签: c# emgucv rectangles