【C++】【图像处理】均值滤波和高斯滤波(低通滤波)算法解析(以.raw格式 ...

打印 上一主题 下一主题

主题 883|帖子 883|积分 2649

  1. 1 void meanFilter(BYTE* image, int width, int height, BYTE* outImg)
  2. 2 {
  3. 3     //均值滤波
  4. 4     int smth[9];
  5. 5     int i, j, m, n;
  6. 6     BYTE block[9];
  7. 7     
  8. 8     // 高斯卷积核初始化
  9. 9     smth[0] = 1, smth[1] = 2, smth[2] = 1,
  10. 10     smth[3] = 2, smth[4] = 4, smth[5] = 2,
  11. 11     smth[6] = 1, smth[7] = 2, smth[8] = 1;
  12. 12
  13. 13     int value;
  14. 14     for (i = 0;i < 9;i++) //初始化均值卷积核
  15. 15         smth[i] = 1;
  16. 16
  17. 17     for (i = 0;i < height;i++)
  18. 18         for (j = 0;j < width;j++) {
  19. 19             //将输出图像边缘的像素值设为 0
  20. 20             if (i == 0 || j == 0 || i == height - 1 || j == width - 1)
  21. 21                 outImg[i * width + j] = 0;
  22. 22
  23. 23             //提取以当前像素为中心的 3x3 区域的像素值,然后利用卷积操作计算这个区域的均值,最后将计算得到的均值作为输出图像中对应位置的像素值
  24. 24             else {
  25. 25                 for (m = -1;m < 2;m++)
  26. 26                     for (n = -1;n < 2;n++)
  27. 27                         block[(m + 1) * 3 + n + 1] = image[(i + m) * width + j + n];
  28. 28                 value = convolution(smth, block);
  29. 29                 outImg[i * width + j] = BYTE(value / 9.0f); // 高斯为 value / 16.0f
  30. 30             }
  31. 31         }
  32. 32
  33. 33 }
  34. 34
  35. 35
  36. 36 int convolution(int* operatr, BYTE* block)
  37. 37 {
  38. 38     int value;
  39. 39     int i, j;
  40. 40     value = 0;
  41. 41     //卷积运算
  42. 42     //遍历 3x3 区域内的每个像素,并根据卷积核的权重计算出卷积结果
  43. 43     for (i = 0;i < 3;i++)
  44. 44         for (j = 0;j < 3;j++)
  45. 45             value += operatr[i * 3 + j] * block[i * 3 + j];
  46. 46     /*
  47. 47     1 1 1
  48. 48     1 1 1
  49. 49     1 1 1
  50. 50
  51. 51     0 0 0
  52. 52     0 x y
  53. 53     0 j k
  54. 54     */
  55. 55
  56. 56     return value;
  57. 57
  58. 58 }  
复制代码
 
低通滤波和直方图均衡核心点:按照一定的 权重 / 均分比例 处理 一定区域 / 数量上的像素点上的灰度级值。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表