我正在寻找一种方法,允许我将图像处理技术应用于由一组点(x和y)定义的一组多边形,然后应用以下操作: 减去,侵蚀,膨胀,得到形成连续区域的所有区域连接到特定区域。
图像是单色的(无颜色数据)。
有人知道怎么做这个吗?我看过gtk-sharp,但似乎错过了其中一些函数,大多数其他库只将光栅图形作为输入。
Opencv在一组点上似乎没有那么好用(或者有办法解决这个问题吗?)。
我正在寻找的是这样的:
image image;
List<List<Point>> shapes;
List<Point> extract;
foreach(List<Point> shape in shapes){
image.add(shape)
}
image.remove(extract)
image.erode(5);
image.dialate(5)
image.getAllConnectedTo(0,0);
有人知道一个好的图书馆吗?或者一般来说这样做的方法?
请注意,如果有任何不清楚的地方,请随意询问,这样我就可以证明这一点。
答案 0 :(得分:0)
我使用SharpDX库来制作3D图形。他们还在GitHub上有2D模块和样本。它似乎易于使用且记录良好。检查this示例。
以下是示例代码段:
void TessellationSink.AddTriangles(Triangle[] triangles)
{
// Add Tessellated triangles to the opened GeometrySink
foreach (var triangle in triangles)
{
GeometrySink.BeginFigure(triangle.Point1, FigureBegin.Filled);
GeometrySink.AddLine(triangle.Point2);
GeometrySink.AddLine(triangle.Point3);
GeometrySink.EndFigure(FigureEnd.Closed);
}
}
所有绘画内容都在&#34;永远&#34;环。因此,在新渲染发生后,您的更改将显示在屏幕上。