Пример #1
0
        public static Image <Gray, byte> Morp(Image <Gray, byte> rootimg, morpOp op, int size, kernal kernal)
        {
            if (size == 0)
            {
                size = 1;
            }
            var kern = CreateKernal(kernal, new System.Drawing.Size(size, size));

            return(rootimg.MorphologyEx(CreateMorpOp(op), kern, new System.Drawing.Point(-1, -1), 1, BorderType.Default, new MCvScalar(0)));
        }
Пример #2
0
        public static Func <Image <Gray, byte>, int, Image <Gray, byte> > FnMorp(morpOp op, kernal kernal)
        {
            var morp = new Func <Image <Gray, byte>, int, Image <Gray, byte> >((img, size) =>
            {
                if (size == 0)
                {
                    size = 3;
                }
                var ken = CreateKernal(kernal, new System.Drawing.Size(size, size));
                return(img.MorphologyEx(CreateMorpOp(op), ken, new System.Drawing.Point(-1, -1), 1, BorderType.Default, new MCvScalar(0)));
            });

            return(morp);
        }
Пример #3
0
        private static MorphOp CreateMorpOp(morpOp op)
        {
            switch (op)
            {
            case morpOp.Erode:
                return(MorphOp.Erode);

            case morpOp.Dilate:
                return(MorphOp.Dilate);

            case morpOp.Open:
                return(MorphOp.Open);

            case morpOp.Close:
                return(MorphOp.Close);

            default:
                return(MorphOp.Erode);
            }
        }