예제 #1
0
        /// <summary>
        /// Convolves the provided image with a two dimensional Gaussian of the provided sigma and returns the result,
        /// subsampled as directed.
        /// </summary>
        /// <typeparam name="I">Any image whose pixel values are stored as floats</typeparam>
        /// <param name="image">The image to convolve.</param>
        /// <param name="sigma">The sigma to use in the Gaussian</param>
        /// <param name="subsample">The subsampling frequency.</param>
        /// <returns>A blurred image</returns>
        public static I ConvolveGaussian <I>(IArrayHandler <float> image, float sigma, int subsample) where I : IArrayHandler <float>, new()
        {
            I result = ConvolveHalf <I>(image, Gaussian.ComputeHalfKernel(sigma), subsample);

            return(result);
        }