opencv中值滤波
时间: 2023-10-13 21:07:01 浏览: 98
opencv+python实现均值滤波
5星 · 资源好评率100%
OpenCV中的中值滤波是一种非线性滤波技术,用于消除图像中的椒盐噪声。它的基本思想是对图像中的每个像素点的邻域进行排序,并用邻域中的中间值来代替原始像素点的灰度值。
在使用OpenCV进行中值滤波时,可以使用medianBlur()函数。该函数有两个参数:第一个参数是要进行滤波的图像,第二个参数是滤波模板的尺寸。通过调整滤波模板的尺寸,可以控制滤波效果的模糊程度。较小的滤波模板将产生较细的模糊效果,而较大的滤波模板将产生较强的模糊效果。
下面是一个使用OpenCV进行中值滤波的C++示例代码:
```
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main() {
Mat img = imread("noise.jpg", IMREAD_ANYCOLOR);
if (img.empty()) {
cout << "请确认图像文件名称是否正确" << endl;
return -1;
}
Mat imgResult3, imgResult9;
medianBlur(img, imgResult3, 3); // 使用3x3的滤波模板
medianBlur(img, imgResult9, 9); // 使用9x9的滤波模板
imshow("img", img);
imshow("imgResult3", imgResult3);
imshow("imgResult9", imgResult9);
waitKey(0);
return 0;
}
```
在以上代码中,首先使用imread()函数读取待滤波的图像。然后使用medianBlur()函数进行中值滤波处理,分别使用3x3和9x9的滤波模板。最后使用imshow()函数显示原始图像以及滤波后的结果。
希望以上内容能够帮助到您,如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [OpenCV——中值滤波](https://blog.csdn.net/qq_36686437/article/details/120598188)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Opencv之图像滤波:5.中值滤波(cv2.medianBlur)](https://blog.csdn.net/qq_49478668/article/details/123485382)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文