膨胀腐蚀: 是对图片的高亮度部分(白色)进行操作
膨胀: 是对高亮度部分进行”领域扩张”,
腐蚀: 是对高亮度部分进行”领域蚕食”
1, 膨胀dilate()
public static void Dilate(InputArray src,
OutputArray dst,
InputArray? element,
Point? anchor = null,
int iterations = 1,
BorderTypes borderType = BorderTypes.Constant,
Scalar? borderValue = null);
src: 输入图像(建议二值图)
dst: 输出图像
element: 用于膨胀的结构单元。如果element=new Mat()[为空的意思],则使用一个3x3的矩形结构单元
anchor : 锚点位置,默认为(-1,-1)表示位于中心
iterations : 膨胀次数
borderType : 边界模式,一般使用默认值
borderValue : 边界值,一般采用默认值
2,腐蚀erode()
public static void Erode(InputArray src,
OutputArray dst,
InputArray? element,
Point? anchor = null,
int iterations = 1,
BorderTypes borderType = BorderTypes.Constant,
Scalar? borderValue = null);
//膨胀腐蚀
Mat src = new Mat(@"I:\OpenCvSharp学习\3副本.jpg", ImreadModes.AnyColor);
Window srcWin = new Window("src", WindowMode.AutoSize, src);
Mat dst1 = new Mat();
Mat dst2 = new Mat();
Mat element = Cv2.GetStructuringElement(MorphShapes.Rect, new Size(4, 4), new Point(-1, -1));
Cv2.Dilate(src,dst1,element,new Point(-1,-1),2);
Cv2.Erode(src,dst2,element,new Point(-1,-1),2);
Window dstWin = new Window("dst1", WindowMode.AutoSize, dst1);
Window dstWin1 = new Window("dst2", WindowMode.AutoSize, dst2);
Cv2.WaitKey(0);