C#实现 高效高斯模糊

最近一项目需要图片实现模糊效果,查了查资料少之又少,自己来吧,往下看(其实很简单)

要想实现模糊效果网上有相应的例子,但时间太长要几秒才能出效果,要求时间要短,可以用opencv,但是这个我就没看到有例子了。可能我打开方式不对,接下来就是关键了:
1.先安装opencv的第三方库,工具》Nuget包管理器》管理解决方案的Nuget程序包》搜索opencv并安装 。
2.接下来就是编码了,就一个方法调用下。

 /// 
        /// 生成模糊图
        /// 
        /// 原图地址(绝对地址)
        ///  /// 生成地址(绝对地址)
        public void getblur(string srcpath,string savepath)
        {
            Console.WriteLine(DateTime.Now.Millisecond);
            Mat src;
            using (src = new Mat(srcpath, ImreadModes.AnyColor | ImreadModes.AnyDepth))
            using (Mat dst = new Mat())
            {
                //注意:size 参数一定要是奇数 (均值模糊)  Y 轴模糊
                Cv2.Blur(src, dst, new OpenCvSharp.Size(37, 37), new OpenCvSharp.Point(-1, -1));
                Bitmap map = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(dst);
                map.Save(savepath);//你生成图片要保存的地方(绝对地址)
               
            }
            Console.WriteLine(DateTime.Now.Millisecond);
        }

代码简单调用就这样,这样下来原来动不动就几秒缩减到现在的基本不超过200毫秒效率提升了很多,具体需求自己完成吧、。

你可能感兴趣的:(opencv,c#,opencv,c#)