1 膨胀腐蚀概述
膨胀:
腐蚀:
应用:可以去除离散的点
2 代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
using Emgu.Util;
using System.Drawing;
namespace Lesson15
{
class Program
{
static void Main(string[] args)
{
Mat srcImg = CvInvoke.Imread("1.png");
CvInvoke.Imshow("src", srcImg);
Mat grayImg = new Mat();
CvInvoke.CvtColor(srcImg, grayImg, ColorConversion.Bgr2Gray);
Mat element = CvInvoke.GetStructuringElement(ElementShape.Rectangle, new Size(3, 3), new Point(-1, -1));
//CvInvoke.Dilate(grayImg, grayImg, element, new Point(-1, -1), 1, BorderType.Default, new MCvScalar());//膨胀
CvInvoke.Erode(grayImg, grayImg, element, new Point(-1, -1), 1, BorderType.Default, new MCvScalar());//腐蚀
CvInvoke.Imshow("dilate", grayImg);
CvInvoke.WaitKey(0);
//彩色图像示例
//Mat srcImg = CvInvoke.Imread("1.jpg");
//CvInvoke.Imshow("src", srcImg);
//Mat dstImg = new Mat();
//Mat element = CvInvoke.GetStructuringElement(ElementShape.Rectangle, new Size(7, 7), new Point(-1, -1));
//CvInvoke.Dilate(srcImg, dstImg, element, new Point(-1, -1), 1, BorderType.Default, new MCvScalar());
//CvInvoke.Imshow("dilate", dstImg);
//CvInvoke.WaitKey(0);
}
}
}