我检测到了我想要检测的交通标志的三角形。为了使用这个图像进行进一步的处理,我想创建一个蒙版来使背景变白(或变黑,实际上并不重要)。
为了检测我使用的这个形状:
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。
我如何制作一个遮罩,这样我就可以清除轮廓之外的一切?
发布于 2018-12-05 12:47:08
您可以使用您拥有的轮廓,并绘制到另一个类似的空图像,如果您想要的只是轮廓。如果要填充,可以使用fillPoly函数直接用指定的颜色填充轮廓,然后使用二进制滤镜将具有该颜色的所有像素变为黑色,而将其他像素变为黑色。
https://stackoverflow.com/questions/53153940
复制