中值滤波和均值滤波(2)
中值滤波和均值滤波
61 for (int i = 0; i <= bmp.Width - 1; i++)
62 {
63 for (int j = 0; j <= bmp.Height - 1; j++) 64 {
65 bmp.SetPixel(i, j, Color.FromArgb(mR[i, j], mG[i, j], mB[i, j]));
66 }
67 }
68 return bmp;
69 }
70
71 /// <summary>
72 /// 对矩阵M进行中值滤波
73 /// </summary>
74 /// <param name="m">矩阵M</param>
75 /// <param name="windowRadius">过滤半径</param>
76 /// <returns>结果矩阵</returns>
77 private byte[,] MedianFilterFunction(byte[,] m, int windowRadius)
78 {
79 int width = m.GetLength(0);
80 int height = m.GetLength(1);
81
82 byte[,] lightArray = new byte[width, height]; 83
84 //开始滤波
85 for (int i = 0; i <= width - 1; i++)
86 {
87 for (int j = 0; j <= height - 1; j++)
88 {
89 //得到过滤窗口矩形
90 Rectangle rectWindow = new Rectangle(i - windowRadius, j - windowRadius, 2 * windowRadius + 1, 2 * windowRadius + 1);
91 if (rectWindow.Left < 0) rectWindow.X = 0; 92 if (rectWindow.Top < 0) rectWindow.Y = 0; 93 if (rectWindow.Right > width - 1) rectWindow.Width = width - 1 - rectWindow.Left;
94 if (rectWindow.Bottom > height - 1) rectWindow.Height = height - 1 - rectWindow.Top;
95 //将窗口中的颜色取到列表中
96 List<byte> windowPixelColorList = new List<byte>();
中值滤波和均值滤波
97 for (int oi = rectWindow.Left; oi <= rectWindow.Right - 1; oi++)
98 {
99 for (int oj = rectWindow.Top; oj <= rectWindow.Bottom - 1; oj++)
100 {
101 windowPixelColorList.Add(m[oi, oj]);
102 }
103 }
104 //排序
105 windowPixelColorList.Sort();
106 //取中值
107 byte middleValue = 0;
108 if ((windowRadius * windowRadius) % 2 == 0) 109 {
110 //如果是偶数
111 middleValue = Convert.ToByte((windowPixelColorList[windowPixelColorList.Count / 2] + windowPixelColorList[windowPixelColorList.Count / 2 - 1]) / 2);
112 }
113 else
114 {
115 //如果是奇数
116 middleValue = windowPixelColorList[(windowPixelColorList.Count - 1) / 2];
117 }
118 //设置为中值
119 lightArray[i, j] = middleValue;
120 }
121 }
122 return lightArray;
123 }
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




