面积筛选:CvInvoke.ContourArea()
周长筛选:CvInvoke.ArcLength()
多边形筛选:CvInvoke.ApproxPolyDP()
多边形简化:
public void btn_Filter_Click(object sender, EventArgs e)
{
if (ib_original.Image != null)
{
Mat src = new Image<Bgr, byte>(ib_original.Image.Bitmap).Mat;
Mat dst = new Mat();
CvInvoke.Canny(src, dst, 120, 180);
//创建用于存储轮廓的VectorOfVectorOfPoint数据类型
VectorOfVectorOfPoint contours = new VectorOfVectorOfPoint();
CvInvoke.FindContours(dst, contours, null, Emgu.CV.CvEnum.RetrType.External,
Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple);
//用于存储筛选过后的轮廓
VectorOfVectorOfPoint use_contours = new VectorOfVectorOfPoint();
//获取联通区域个数
int ksize = contours.Si