我已经检测到要检测的交通标志的三角形。为了将此图像用于进一步处理,我想创建一个遮罩以使背景为白色(或黑色,并不重要)。
我使用以下方法检测这种形状:
VectorOfVectorOfPoint contours = new VectorOfVectorOfPoint();
Mat hierarchy = new Mat();
CvInvoke.FindContours(input.GetImage(), contours, hierarchy,Emgu.CV.CvEnum.RetrType.External,Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple);
通过DrawContours
方法,我可以轻松绘制它们,并获得正确的结果:image of the contours。
如何制作遮罩以清除轮廓以外的所有东西?
答案 0 :(得分:0)
如果想要的只是轮廓,则可以使用已有的轮廓并绘制到另一个类似的空白图像。 如果要填充,可以使用fillPoly函数直接用指定的颜色填充轮廓,然后使用二进制滤镜使所有具有该颜色的像素变成黑色,而其他像素变为黑色。