自己实现中值滤波
来源:互联网 发布:朋友圈视频制作软件 编辑:程序博客网 时间:2024/05/18 11:12
自己实现中值滤波
中值滤波代码
#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;
void median_Filter (Mat &src,Mat &dst) { dst=src.clone(); uchar* p_data=dst.data; // 原图数据区指针 int nLineByte =dst.cols; // 图像每行像素所占的字节数 int width =dst.cols; // 图像的宽度 int height =dst.rows; // 图像的高度 for (int j=1;j<height-1;j++) //行 { for (int i=1;i<width-1;i++) //宽 { int k = 0; uchar window[9]; //定义3*3大小窗的数组 for (int y = j - 1; y < j + 2; ++y) for (int x = i - 1; x < i + 2; ++x) window[k++] = p_data[y * width + x];
//排序 for (int m = 0; m < 5; ++m) { int min = m; for (int n = m + 1; n < 9; ++n) if (window[n] < window[min]) min = n; //Put found minimum element in its place uchar temp = window[m]; window[m] = window[min]; window[min] = temp; } p_data[ j*width+i ] = window[4]; //将中值赋给变换后的图像 } } } int main(){ Mat src=imread("E:\\图库\\lena.bmp",0);namedWindow("原图");moveWindow("原图",60,60);imshow("原图",src);Mat dst;median_Filter (src,dst);namedWindow("效果图");moveWindow("效果图",320,320);imshow("效果图",dst);waitKey(0);return 0;}
运行结果
0 0
- 自己实现中值滤波
- opencv实现自己的中值滤波
- 图像中值滤波实现
- 中值滤波实现
- 中值滤波 matlab实现
- 中值滤波(C++实现)
- 中值滤波C++实现
- 中值滤波之c++实现
- [图像]中值滤波(Matlab实现)
- 中值滤波,C语言实现
- MATLAB实现中值滤波算法
- 均值滤波、中值滤波的matlab实现
- 均值滤波、中值滤波的matlab实现
- 均值滤波、中值滤波的matlab实现
- 均值滤波、中值滤波的matlab实现
- 均值滤波、中值滤波的matlab实现
- 均值滤波、中值滤波的matlab实现
- 均值滤波、中值滤波的matlab实现
- mongodb总结
- 依赖注入
- 多元线性回归及梯度下降
- jQuery的LG的自定义插件。
- ViewDragHelper实战 自己打造Drawerlayout
- 自己实现中值滤波
- thinkphp 进入控制器两次问题!
- 99乘法表
- Mysql中的MVCC
- transformClassesWithDexForDebug android studio运行时出现的bug
- Android6.0 ViewGroup/View 事件分发机制详解
- 【科技视野】微信小程序真的是App的终结者?
- 微信公众号支付的笔记
- notifyIcon1的用法