medianBlur
是 OpenCV 中的一个函数,用于对图像进行中值滤波操作。中值滤波是一种常用的非线性图像滤波方法,通过将像素周围邻域内的像素值排序并取中间值作为当前像素的新值,从而达到去除噪声、平滑图像等效果。
以下是 medianBlur
函数的语法和示例:
void medianBlur(InputArray src, OutputArray dst, int ksize);
src
: 输入图像(单通道、8位或浮点型)dst
: 输出图像,与输入图像大小相同ksize
: 滤波器核大小,必须为正奇数
示例代码:
#include <opencv2/opencv.hpp>
int main()
{
cv::Mat image = cv::imread("input.jpg", cv::IMREAD_GRAYSCALE); // 读取灰度图像
if (image.empty())
{
std::cout << "Failed to read image" << std::endl;
return -1;
}
cv::Mat blurredImage;
cv::medianBlur(image, blurredImage, 5); // 中值滤波
cv::imshow("Original Image", image);
cv::imshow("Blurred Image", blurredImage);
cv::waitKey(0);
return 0;
}
在这个示例中,我们加载了一张灰度图像,并对其应用了中值滤波(核大小为5x5)。最后展示了原始图像和中值滤波后的图像。
内容由零声教学AI助手提供,问题来源于学员提问