【发布时间】:2018-04-24 10:57:50
【问题描述】:
【问题讨论】:
-
骨架化你的图像
【问题讨论】:
您应该使用带有巧妙结构元素的侵蚀操作。 我建议用最长的水平线长度的来去除。
我做了一个小例子:
让我们把这个toErode.png
double longestHorLine = 201;
Image<Gray, byte> toErode = new Image<Gray, byte>(path+ "toErode.png");
for(int i =1;i<4;i++)
{
Mat element = CvInvoke.GetStructuringElement(ElementShape.Rectangle, new Size((int)(longestHorLine / i), 3), new Point(-1, -1));
CvInvoke.Erode(toErode, toErode, element, new Point(-1, -1), i, BorderType.Default, new MCvScalar(0));
toErode.Save(path + "res"+i+".png");
}
【讨论】: