#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

//均值滤波模糊处理
int demo_blur()
{
  char win1[] = "window1";
  char win2[] = "window2";
  Mat img1, img2;

  img1 = imread("D://images//4.jpg");
  if (img1.empty())
  {
    cout <<"could not found img..." << endl;
    return 0;
  }
  imshow(win1,img1);
  blur(img1,img2,Size(9,9),Point(-1,-1));
  imshow(win2, img2);
  return 0;
}

//高斯滤波
int demo_gaussian_blur()
{
  char win1[] = "window1";
  char win2[] = "window2";
  Mat img1, img2;

  img1 = imread("D://images//timg1.jpg");
  if (img1.empty())
  {
    cout << "could not found img..." << endl;
    return 0;
  }
  imshow(win1, img1);
  //blur(img1, img2, Size(9, 9), Point(-1, -1));
  GaussianBlur(img1, img2, Size(9, 9), 11, 11, 4);
  imshow(win2, img2);
  return 0;
}

//中值滤波
int demo_median_blur()
{
  char win1[] = "window1";
  char win2[] = "window2";
  Mat img1, img2;

  img1 = imread("D://images//2018092701.jpg");
  if (img1.empty())
  {
    cout << "could not found img..." << endl;
    return 0;
  }
  imshow(win1, img1);
  //blur(img1, img2, Size(9, 9), Point(-1, -1));
  //GaussianBlur(img1, img2, Size(9, 9), 11, 11, 4);
  medianBlur(img1, img2, 5);
  imshow(win2, img2);
  return 0;
}

//双边滤波
int demo_bilateral_filter()
{
  char win1[] = "window1";
  char win2[] = "window2";
  Mat img1, img2;

  img1 = imread("D://images//timg1.jpg");
  if (img1.empty())
  {
    cout << "could not found img..." << endl;
    return 0;
  }
  imshow(win1, img1);
  //blur(img1, img2, Size(9, 9), Point(-1, -1));
  //GaussianBlur(img1, img2, Size(9, 9), 11, 11, 4);
  //medianBlur(img1, img2, 5);
  bilateralFilter(img1, img2, 15, 100, 3, 4);
  imshow(win2, img2);
  return 0;
}

int main()
{
  //demo_blur();
  //demo_gaussian_blur();
  //demo_median_blur();
  demo_bilateral_filter();

  waitKey(0);
  return 0;
}

opencv3 图片模糊操作-均值滤波 高斯滤波 中值滤波 双边滤波的更多相关文章

  1. 【OpenCV】邻域滤波:方框、高斯、中值、双边滤波

    原文:http://blog.csdn.net/xiaowei_cqu/article/details/7785365 邻域滤波(卷积)   邻域算子值利用给定像素周围像素的值决定此像素的最终输出.如 ...

  2. [学习opencv]高斯、中值、均值、双边滤波

    http://www.cnblogs.com/tiandsp/archive/2013/04/20/3031862.html [学习opencv]高斯.中值.均值.双边滤波 四种经典滤波算法,在ope ...

  3. opencv-11-中值滤波及自适应中值滤波

    开始之前 在上一篇我们实现了读取噪声图像, 然后 进行三种形式的均值滤波得到结果, 由于我们自己写的均值滤波未作边缘处理, 所以效果有一定的下降, 但是总体来说, 我们得到的结果能够说明我们的算法执行 ...

  4. OpenCv高斯,中值,均值,双边滤波

    #include "cv.h" #include "highgui.h" #include <iostream> using namespace s ...

  5. OpenCV计算机视觉学习(4)——图像平滑处理(均值滤波,高斯滤波,中值滤波,双边滤波)

    如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice &q ...

  6. Python+OpenCV图像处理(七)—— 滤波与模糊操作

    过滤是信号和图像处理中基本的任务.其目的是根据应用环境的不同,选择性的提取图像中某些认为是重要的信息.过滤可以移除图像中的噪音.提取感兴趣的可视特征.允许图像重采样等等.频域分析将图像分成从低频到高频 ...

  7. Atitit   图像处理 平滑 也称 模糊, 归一化块滤波、高斯滤波、中值滤波、双边滤波)

    Atitit   图像处理 平滑 也称 模糊, 归一化块滤波.高斯滤波.中值滤波.双边滤波) 是一项简单且使用频率很高的图像处理方法 用途 去噪 去雾 各种线性滤波器对图像进行平滑处理,相关OpenC ...

  8. 学习 opencv---(8)非线性滤波:中值滤波,双边滤波

    正如我们上一篇文章中讲到的,线性滤波可以实现很多种不同的图像变换.然而非线性滤波,如中值滤波器和双边滤波器,有时可以达到更好的实现效果. 邻域算子的其他一些例子还有对 二值图像进行操作的形态学算子,用 ...

  9. python实现模糊操作

    目录: (一)模糊或平滑与滤波的介绍 (二)均值模糊 (1) 原理 (2)代码实现-----均值模糊函数blur() (三)中值模糊------mediaBlur函数 (四)高斯模糊------Gau ...

随机推荐

  1. asp.net mvc获得请求体所有内容

    代码如下 Stream req = Request.InputStream; req.Seek(0, System.IO.SeekOrigin.Begin); string json = new St ...

  2. R+markdown+LaTeX 中文编译解决方案

    一丢丢前言 很久之前曾试图以Rmarkdown编译pdf文档,无奈怎么鼓捣都会error,搜索了很久都没能找到比较好的解决方案.在配置上将编译器调成了xeLaTeX后就不了了之.这两天心血来潮研究了一 ...

  3. I.MX6 View长宽大于屏的分辨率

    /******************************************************************************** * I.MX6 View长宽大于屏的 ...

  4. java 线程基础学习

    今天趁空闲时间看了点线程方面的知识 首先看的是volatile关键字,按照我之前书上看到的一点知识,自己的理解是,volatile关键字会阻止编译优化,因为cpu每次读取数据是并不是从高速缓存中读取, ...

  5. 用eclipse来制作并使用可执行的jar文件

    我近来用java写了一个股票收益分析的小程序,用于计算我的股票操作所带来的的收益.这里,记录了如何将源代码打包成可执行的命令的一个过程. 1:生成可执行的jar文件 选中工程,选择菜单中的export ...

  6. 洛谷 P2205 [USACO13JAN]画栅栏Painting the Fence

    传送门 题目大意: 开始站在原点,给出一系列操作 x L/R,表示向左或向右走几步. 最多会移动到离原点1,000,000,000单位远的地方. n次操作,n<=100000 问走过k次的地方有 ...

  7. jfrog artifactory docker 安装试用

    预备环境(docker 安装模式,使用的免费版本): docker-ce (启用镜像加速) 1. 镜像拉取 docker.bintray.io/jfrog/artifactory-oss 2. 启动 ...

  8. java 执行JavaScript 以及容器化的问题

    1. 可选方案     a. jdk 6 开始内置的Rhino 引擎   b. jdk8 替换的nashorn (性能高,对于ECMA 支持更好)   c. java 版的nodejs vertx.i ...

  9. shell中把大写字母转换成小写字母

    shell中把大写字母转换成小写字母 参考:http://www.jb51.net/article/40257.htm echo "AABBCC" | tr "[:upp ...

  10. laravel查看sql语句

    我自己是用第一种方法来调试的,第三种不行 不知道为啥 laravel查看sql语句 方法一: 我们有时候想测试一段代码生产的 SQL 语句,比如: 我们想看 App\User::all(); 产生的 ...