亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

高斯算法

2019-11-14 13:56:17
字體:
來源:轉載
供稿:網友
using System;using System.Collections.Generic;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CommonHelper{    /// <summary>    /// 高斯模糊算法    /// </summary>    public class GaussianHelper    {        public static double[,] Calculate1DSampleKernel(double deviation, int size)        {            double[,] ret = new double[size, 1];            double sum = 0;            int half = size / 2;            for (int i = 0; i < size; i++)            {                ret[i, 0] = 1 / (Math.Sqrt(2 * Math.PI) * deviation) * Math.Exp(-(i - half) * (i - half) / (2 * deviation * deviation));                sum += ret[i, 0];            }            return ret;        }        public static double[,] Calculate1DSampleKernel(double deviation)        {            int size = (int)Math.Ceiling(deviation * 3) * 2 + 1;            return Calculate1DSampleKernel(deviation, size);        }        public static double[,] CalculateNormalized1DSampleKernel(double deviation)        {            return CalculateNormalized1DSampleKernel(deviation);        }        public static double[,] NormalizeMatrix(double[,] matrix)        {            double[,] ret = new double[matrix.GetLength(0), matrix.GetLength(1)];            double sum = 0;            for (int i = 0; i < ret.GetLength(0); i++)            {                for (int j = 0; j < ret.GetLength(1); j++)                    ret[i, j] = matrix[i, j] / sum;            }            return ret;        }        public static double[,] GaussianConvolution(double[,] matrix, double deviation)        {            double[,] kernel = CalculateNormalized1DSampleKernel(deviation);            double[,] res1 = new double[matrix.GetLength(0), matrix.GetLength(1)];            double[,] res2 = new double[matrix.GetLength(0), matrix.GetLength(1)];            //x-direction            for (int i = 0; i < matrix.GetLength(0); i++)            {                for (int j = 0; j < matrix.GetLength(1); j++)                    res1[i, j] = PRocessPoint(matrix, i, j, kernel, 0);            }            //y-direction            for (int i = 0; i < matrix.GetLength(0); i++)            {                for (int j = 0; j < matrix.GetLength(1); j++)                    res2[i, j] = processPoint(matrix, i, j, kernel, 0);            }            return res2;        }        private static double processPoint(double[,] matrix, int x, int y, double[,] kernel, int direction)        {            double res = 0;            int half = kernel.GetLength(0) / 2;            for (int i = 0; i < kernel.GetLength(0); i++)            {                int cox = direction == 0 ? x + i - half : x;                int coy = direction == 0 ? y + i - half : y;                if (cox >= 0 && cox < matrix.GetLength(0) && coy >= 0 && coy < matrix.GetLength(1))                    res += matrix[cox, coy] * kernel[i, 0];            }            return res;        }        /// <summary>        /// 對顏色值進行灰色處理        /// </summary>        /// <param name="cr"></param>        /// <returns></returns>        private Color grayscale(Color cr)        {             return Color.FromArgb(cr.A,(int)(cr.R*.3+cr.G*.59+cr.B*0.11),                (int)(cr.R*.3+cr.G*.59+cr.B*0.11),                    (int)(cr.R*.3+cr.G*.59+cr.B*0.11));        }        /// <summary>        /// 對圖片進行高斯模糊        /// </summary>        /// <param name="d"></param>        /// <param name="image"></param>        /// <returns></returns>        public Bitmap FilterProcessImage(double d, Bitmap image)        {            Bitmap ret = new Bitmap(image.Width, image.Height);            Double[,] matrixR = new Double[image.Width, image.Height];            Double[,] matrixG = new Double[image.Width, image.Height];            Double[,] matrixB = new Double[image.Width, image.Height];            for (int i = 0; i < image.Width; i++)            {                for (int j = 0; j < image.Height; j++)                {                    matrixR[i, j] = image.GetPixel(i, j).R;                    matrixG[i, j] = image.GetPixel(i, j).G;                    matrixB[i, j] = image.GetPixel(i, j).B;                }            }            matrixR = GaussianHelper.GaussianConvolution(matrixR, d);            matrixG = GaussianHelper.GaussianConvolution(matrixG, d);            matrixB = GaussianHelper.GaussianConvolution(matrixB, d);            for (int i = 0; i < image.Width; i++)            {                for (int j = 0; j < image.Height; j++)                {                    Int32 R = (int)Math.Min(255, matrixR[i, j]);                    Int32 G = (int)Math.Min(255, matrixG[i, j]);                    Int32 B = (int)Math.Min(255, matrixB[i, j]);                    ret.SetPixel(i,j,Color.FromArgb(R,G,B));                }            }            return ret;        }    }}
View Code

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩毛片中文字幕| 精品国产乱码久久久久久虫虫漫画| xxxxxxxxx欧美| 国产精品欧美一区二区| 国产综合香蕉五月婷在线| 久久精品久久久久电影| 亚洲最新av在线网站| 91久久精品国产91久久| 久久精品中文字幕电影| 国产日韩专区在线| 热久久99这里有精品| 午夜精品久久久久久久白皮肤| 91精品国产高清久久久久久久久| 欧美精品激情blacked18| 日韩av网址在线| 亚洲人a成www在线影院| 国产欧美 在线欧美| 日韩精品高清视频| 日韩成人av网| 97视频国产在线| 亚洲最大在线视频| 美女精品视频一区| 国产日韩欧美在线播放| 6080yy精品一区二区三区| 亚洲在线第一页| 成人一区二区电影| 日本一区二区在线播放| 国产精品极品美女粉嫩高清在线| 日韩精品中文字幕在线观看| 国产精品视频网址| 中文欧美在线视频| 中文字幕av一区二区三区谷原希美| 成人国产精品一区| 中文字幕国产亚洲| 韩日欧美一区二区| 久久偷看各类女兵18女厕嘘嘘| 91免费看片在线| xvideos国产精品| 国产精品成人av在线| 欧美猛少妇色xxxxx| 欧美巨乳美女视频| 成人av电影天堂| 亚洲一区二区中文字幕| 超在线视频97| 国模精品视频一区二区三区| 亚洲a级在线播放观看| 91久久精品国产91久久性色| 午夜精品视频在线| 奇米成人av国产一区二区三区| 欧美亚洲在线观看| 在线精品国产成人综合| 5566日本婷婷色中文字幕97| 精品福利一区二区| 97国产suv精品一区二区62| 欧美高清自拍一区| 国产a级全部精品| 日本国产高清不卡| 中文字幕日韩欧美精品在线观看| 成人a级免费视频| 国产精品88a∨| 精品亚洲永久免费精品| 久久久久久成人精品| 日韩在线视频一区| 国产欧美精品日韩精品| 欧美精品一区在线播放| 亚洲国产精品久久精品怡红院| 色哟哟亚洲精品一区二区| 国产97在线|日韩| 久久久久久美女| 国模吧一区二区| 在线日韩精品视频| 日韩综合视频在线观看| 俺去亚洲欧洲欧美日韩| 亚洲一区美女视频在线观看免费| 国产一区视频在线| 国产精品女人久久久久久| 久久青草福利网站| 欧美一级淫片videoshd| 国产精品精品久久久久久| 亚洲精品日韩激情在线电影| 亚洲国产精品久久久久秋霞不卡| 日韩在线免费观看视频| 欧美怡春院一区二区三区| 国产精品美女免费| 黑人欧美xxxx| 精品国产电影一区| 国产精品最新在线观看| 亚洲曰本av电影| 亚洲成人a级网| 国产精品综合久久久| 91精品免费视频| 国产精品久久久久久久久久| 一二美女精品欧洲| 亚洲片在线观看| 国产一区二区三区丝袜| 日韩视频一区在线| 人人爽久久涩噜噜噜网站| 国产精品一区二区女厕厕| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美性生交xxxxx久久久| 日韩av中文字幕在线| 欧美一乱一性一交一视频| 亚洲伊人一本大道中文字幕| 欧美精品久久久久| 久久91精品国产91久久跳| 亚洲另类欧美自拍| 亚洲综合自拍一区| 亚洲精品福利免费在线观看| 久久精品在线视频| 爽爽爽爽爽爽爽成人免费观看| 精品视频在线观看日韩| 一本色道久久综合狠狠躁篇的优点| 亚洲国产精品yw在线观看| 91中文字幕在线观看| 高清日韩电视剧大全免费播放在线观看| 成人av在线网址| 国产精品欧美一区二区| 日韩中文有码在线视频| 精品中文视频在线| 亚洲综合成人婷婷小说| 亚洲夜晚福利在线观看| 在线日韩av观看| 欧美日韩第一视频| 日韩电影中文字幕av| 麻豆成人在线看| 亚洲精品一区中文字幕乱码| 国产91精品久久久久久| 美女久久久久久久| 久久久黄色av| 国产欧美在线观看| 国产精品一区二区av影院萌芽| 久久国产精品久久久| 亚洲最大av在线| 中文字幕日韩视频| 亚洲成av人影院在线观看| 日韩av在线影视| 国产精品91久久久| 中文字幕精品一区二区精品| 欧美国产日本高清在线| 久久久日本电影| 国产亚洲激情视频在线| 久久亚洲一区二区三区四区五区高| 亚洲aⅴ男人的天堂在线观看| 国产a∨精品一区二区三区不卡| 视频直播国产精品| 2019中文字幕在线| 亚洲系列中文字幕| 久久亚洲精品网站| 亚洲精品动漫100p| 欧美亚州一区二区三区| 亚洲毛茸茸少妇高潮呻吟| 成人国产精品色哟哟| 午夜免费在线观看精品视频| 国产一级揄自揄精品视频| 亚洲精品国产精品自产a区红杏吧| 国产日本欧美视频| 伊人伊成久久人综合网站| 亚洲精品美女在线观看播放| 久久成人综合视频| 日韩在线不卡视频| 国产视频在线一区二区| 午夜免费久久久久| 亚洲女人天堂视频| 91香蕉嫩草神马影院在线观看|