コード例 #1
0
        public CvImage ProcessImage(CvImage image, IMAGE_ALGO_TYPES type)
        {
            var gausianed         = MatrixMath.Convolve(GAUSSIAN_FILTER, image.bitmap);
            var sobel_xed         = MatrixMath.Convolve(SOBEL_X_FILTER, gausianed.bitmap);
            var sobel_yed         = MatrixMath.Convolve(SOBEL_Y_FILTER, gausianed.bitmap);
            var canny_edged_image = DrawCannyEdges(sobel_xed.bitmap, sobel_yed.bitmap);

            return(canny_edged_image);
        }
コード例 #2
0
        public CvImage ProcessImage(CvImage image, IMAGE_ALGO_TYPES type)
        {
            var gausianed = MatrixMath.Convolve(GAUSSIAN_FILTER, image.bitmap);
            var sobel_xed = MatrixMath.Convolve(SOBEL_X_FILTER, gausianed.bitmap);
            var sobel_yed = MatrixMath.Convolve(SOBEL_Y_FILTER, gausianed.bitmap);
            var canny_edged_image = DrawCannyEdges(sobel_xed.bitmap, sobel_yed.bitmap);

            return canny_edged_image;
        }
コード例 #3
0
        public static Filter GetType(IMAGE_ALGO_TYPES type)
        {
            Filter value = null;

            if (filterMap.TryGetValue(type, out value))
            {
                return(value);
            }
            else
            {
                throw new IndexOutOfRangeException();
            }
        }
コード例 #4
0
        public CvImage ProcessPixels(CvImage input, IMAGE_ALGO_TYPES type)
        {
            CvImage result = null;

            try
            {
                var algorithm = algoList.First(a => a != null && a.GetAlgoType().Any(t => t == type));

                result = algorithm.ProcessImage(input, type);
            }
            catch (Exception ex)
            {
            }

            return(result);
        }
コード例 #5
0
        public CvImage ProcessPixels(CvImage input, IMAGE_ALGO_TYPES type)
        {
            CvImage result = null;

            try
            {
                var algorithm = algoList.First(a => a != null && a.GetAlgoType().Any(t => t == type));

                result = algorithm.ProcessImage(input, type);

            }
            catch(Exception ex)
            {

            }

            return result;
        }
コード例 #6
0
        public CvImage ProcessImage(CvImage image, IMAGE_ALGO_TYPES type)
        {
            CvImage result = new CvImage();

            result.bitmap = new Bitmap(image.bitmap.Width, image.bitmap.Height);

            for (int w_ic = 0; w_ic < image.bitmap.Width; w_ic++)
            {
                for (int h_ic = 0; h_ic < image.bitmap.Height; h_ic++)
                {
                    Color pix_color = image.bitmap.GetPixel(w_ic, h_ic);

                    var gray_scale = (int)(pix_color.R * RED_SCALE + pix_color.B * BLUE_SCALE + pix_color.G * GREEN_SCALE);

                    result.bitmap.SetPixel(w_ic, h_ic, Color.FromArgb(pix_color.A, gray_scale, gray_scale, gray_scale));
                }
            }

            return(result);
        }
コード例 #7
0
        public CvImage ProcessImage(CvImage image, IMAGE_ALGO_TYPES type)
        {
            CvImage result = new CvImage();

            result.bitmap = new Bitmap(image.bitmap.Width, image.bitmap.Height);

            for (int w_ic = 0; w_ic < image.bitmap.Width; w_ic++)
            {
                for (int h_ic = 0; h_ic < image.bitmap.Height; h_ic++)
                {
                    Color pix_color = image.bitmap.GetPixel(w_ic, h_ic);

                    var gray_scale = (int) (pix_color.R* RED_SCALE + pix_color.B * BLUE_SCALE + pix_color.G * GREEN_SCALE);

                    result.bitmap.SetPixel(w_ic, h_ic, Color.FromArgb(pix_color.A, gray_scale, gray_scale, gray_scale));
                }

            }

            return result;
        }
コード例 #8
0
        public static Filter GetType(IMAGE_ALGO_TYPES type)
        {
            Filter value = null;

            if( filterMap.TryGetValue(type, out value))
            {
                return value;
            }
            else
            {
                throw new IndexOutOfRangeException();
            }
        }
コード例 #9
0
 public CvImage ProcessImage(CvImage image, IMAGE_ALGO_TYPES type)
 {
     return(MatrixMath.Convolve(FilterTypes.GetType(type), image.bitmap));
 }
コード例 #10
0
 public CvImage ProcessImage(CvImage image, IMAGE_ALGO_TYPES type)
 {
     return MatrixMath.Convolve(FilterTypes.GetType(type), image.bitmap);
 }