- OpenCV 教程
 - OpenCV - 主页
 - OpenCV - 概述
 - OpenCV - 环境
 - OpenCV - 存储图像
 - OpenCV - 读取图像
 - OpenCV - 写入图像
 - OpenCV-图形用户界面
 
- 绘图功能
 - OpenCV - 画一个圆
 - OpenCV - 画一条线
 - OpenCV - 绘制矩形
 - OpenCV - 绘制椭圆
 - OpenCV - 绘制折线
 - OpenCV - 绘制凸折线
 - OpenCV - 绘制箭头线
 - OpenCV - 添加文本
 
- 过滤
 - OpenCV - 双边滤波器
 - OpenCV - 盒式过滤器
 - OpenCV - SQRBox 滤波器
 - OpenCV - Filter2D
 - OpenCV - 膨胀
 - OpenCV - 侵蚀
 - OpenCV - 形态运算
 - OpenCV - 图像Pyramid
 
- 摄像头和人脸检测
 - OpenCV - 使用相机
 - OpenCV - 图片中的人脸检测
 - 使用相机进行人脸检测
 
- OpenCV 有用资源
 - OpenCV - 快速指南
 - OpenCV - 有用的资源
 - OpenCV - 讨论
 
OpenCV - 中值模糊
中值模糊操作与其他平均方法类似。这里,图像的中心元素被核心区域中所有像素的中值替换。此操作在去除噪声的同时处理边缘。
您可以使用imgproc类的medianBlur()方法对图像执行此操作。以下是该方法的语法 -
medianBlur(src, dst, ksize)
该方法接受以下参数 -
src -表示此操作的源(输入图像)的Mat对象。
dst -表示此操作的目标(输出图像)的Mat对象。
ksize -表示内核大小的Size对象。
例子
以下程序演示了如何对图像执行中值模糊操作。
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class MedianBlurTest {
   public static void main(String args[]) {
      // Loading the OpenCV core library
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      // Reading the Image from the file and storing it in to a Matrix object
      String file ="C:/EXAMPLES/OpenCV/sample.jpg";
      Mat src = Imgcodecs.imread(file);
      // Creating an empty matrix to store the result
      Mat dst = new Mat();
      // Applying MedianBlur on the Image
      Imgproc.medianBlur(src, dst, 15);
      // Writing the image
      Imgcodecs.imwrite("E:/OpenCV/chap9/median.jpg", dst);
      System.out.println("Image Processed");
   }
}
假设以下是上述程序中指定的输入图像sample.jpg 。
输出
执行程序时,您将得到以下输出 -
Image Processed
如果打开指定的路径,您可以观察输出图像,如下所示 -
