blur图像模糊(均值滤波)
视频讲解如下:
当前系列所有demo下载地址:
https://github.com/GaoRenBao/OpenCv4-Demo
不同编程语言对应的OpenCv版本以及开发环境信息如下:
语言 | OpenCv版本 | IDE |
C# | OpenCvSharp4.4.8.0.20230708 | Visual Studio 2022 |
C++ | OpenCv-4.5.5-vc14_vc15 | Visual Studio 2022 |
Python | OpenCv-Python (4.6.0.66) | PyCharm Community Edition 2022.1.3 |
首先需要准备一张图片girl.jpg,如下:

经过blur图像模糊(均值滤波)后的效果如下:

下面给大家演示了C#、C++、Python这三种环境下是如何进行blur图像模糊(均值滤波)。
C#版本代码如下:
C#版本需要安装“OpenCvSharp4”、“OpenCvSharp4.runtime.win”两个库才行。不然会报错。
如果需要使用“ BitmapConverter.ToBitmap”操作,则需要追加安装“OpenCvSharp4.Extensions”库。
using OpenCvSharp;
namespace demo
{
internal class Program
{
static void Main(string[] args)
{
// 读取图像
Mat srcImage = Cv2.ImRead("../../../images/girl.jpg");
// 显示原图
Cv2.ImShow("原图", srcImage);
// 均值滤波
Mat dstImage = new Mat();
Cv2.Blur(srcImage, dstImage, new OpenCvSharp.Size() { Width = 7, Height = 7 });
Cv2.ImShow("效果", dstImage);
Cv2.WaitKey(0);
// 在pictureBox1中显示效果图
//Bitmap map = BitmapConverter.ToBitmap(dstImage);
//pictureBox1.Image = map;
//// 弹窗显示效果图
//using (new Window("效果", dstImage))
//{
// Cv2.WaitKey();
//}
}
}
}
C++版本代码如下:
#include <vector>
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
// 读入一张图片
Mat srcImage = imread("../images/girl.jpg");
// 显示原图
imshow("原图", srcImage);
// 均值滤波
Mat dstImage;
blur(srcImage, dstImage, Size(7, 7));
// 显示效果图
imshow("均值滤波效果", dstImage);
// 等待任意键按下
waitKey(0);
return 0;
}
Python版本代码如下:
import cv2
import numpy as np
# 载入图片
srcImage = cv2.imread('../images/girl.jpg')
# 显示原图
cv2.imshow('srcImage', srcImage)
# 均值滤波
blur2 = cv2.blur(srcImage, (7, 7))
# 显示效果图
cv2.imshow('out', blur2)
# 左右显示原图和效果图
htich = np.hstack((srcImage, blur2))
cv2.imshow('out2', htich)
cv2.waitKey(0)
cv2.destroyAllWindows()