我是靠谱客的博主 幸福音响,这篇文章主要介绍均值滤波代码 C代码,现在分享给大家,希望可以做个参考。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// 本函数是实现 3 * 3 均值滤波 //函数的的当前点的像素 = 3 * 3 范围的平均值 // @para src 输入图像数据 // @para srcW 输入图形宽 // @para srcH 输入图像的高 // @para channels 通道数 // @para dest 输出图像 , 输出图像的大小和输入一样 int MeanFilter(unsigned char * src, int srcW, int srcH, int channels, unsigned char * dest) { int i = 0; int j = 0; int k = 0; int ModelWH = 3; int halfM = ModelWH / 2; int m = 0; int n = 0; if (channels > 4 || channels < 1) { return -1; } for (i = 0; i < srcH; i++) { for (j = 0; j < srcW; j++) { int sum = 0; int temp[4] = { 0, 0, 0, 0 }; int count[4] = { 0, 0, 0, 0 }; for (n = i - halfM; n <= i + halfM; n++) { for (m = j - halfM; m <= j + halfM; m++) { for (k = 0; k < channels; k++) { unsigned char temp1 = 0; if (n > 0 && n < srcH && m > 0 && m < srcW) { temp1 = src[(n * srcW + m) * channels + k]; count[k]++; temp[k] += temp1; } } } } for (k = 0; k < channels; k++) { dest[(i * srcW + j) * channels + k] = (unsigned char)((temp[k] * 1.0f / (count[k])+0.5f)); } } } return 0; }

最后

以上就是幸福音响最近收集整理的关于均值滤波代码 C代码的全部内容,更多相关均值滤波代码内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部