示例#1
0
        private Image TrimImage1(Image img1, bool maskOnly)
        {
            Image img = _CVMan.ModPicMode(img1, CAPI.ImageMode.Grayscale, CAPI.ColorMap.COLORMAP_AUTUMN);

            img = _CVMan.ModPicMode(img1, CAPI.ImageMode.Histogram, CAPI.ColorMap.COLORMAP_AUTUMN);
            img = _CVMan.ModPicMorph(img, CAPI.MorphMode.THRESHOLD, CAPI.MorphStructureEnum.MORPH_CROSS, 0, 200);
            img = _CVMan.ModPicBlur(img, CAPI.BlurMode.Median, 27);
            img = _CVMan.ModPicMorph(img, CAPI.MorphMode.DILATE, CAPI.MorphStructureEnum.MORPH_ELLIPSE, 17, 0);
            img = _CVMan.ModPicMorph(img, CAPI.MorphMode.ERODE, CAPI.MorphStructureEnum.MORPH_ELLIPSE, 7, 0);
            Image mask = _CVMan.ModPicBoolean(img, img, CAPI.BooleanMode.CONTOURS, false);

            if (mask == null)
            {
                return(null);
            }
            mask = _CVMan.ModPicBlur(mask, CAPI.BlurMode.Median, 27);
            Image result = _CVMan.ModPicBoolean(img1, mask, CAPI.BooleanMode.AND, false);

            return(maskOnly ? mask : result);
        }
示例#2
0
        private void blurComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            modeComboBox.SelectedIndex  = 0;
            colorComboBox.SelectedIndex = 0;
            var mode = (CAPI.BlurMode)Enum.Parse(typeof(CAPI.BlurMode), (String)blurComboBox.EditValue);

            if (mode == CAPI.BlurMode.None)
            {
                return;
            }
            SetModImage(_CVMan.ModPicBlur(pictureEdit1.Image, mode, getInt(kernelSizeEdit.EditValue)));
        }