• opencv学习之路(12)、图像滤波


    一、图像滤波简介

    二、方框滤波——boxFilter()

     1 #include<opencv2/opencv.hpp>
     2 using namespace cv;
     3 
     4 void main(){
     5     Mat src=imread("E://1.jpg");
     6     Mat dst;
     7     //方框滤波器,-1代表原图像深度,size内核大小,true按权重相加(此时等于均值滤波),false按原像素相加(所以很多像素点都大于了255,如上图所示)
     8     boxFilter(src,dst,-1,Size(3,3),Point(-1,-1),true);
     9     imshow("src",src);
    10     imshow("dst",dst);
    11     waitKey(0);
    12 }

    三、均值滤波——blur()

     

    四、高斯滤波——GaussianBlur()

     

    以上是线性滤波(方框,均值,高斯)


    以下是非线性滤波(中值,双边)

    五、中值滤波——medianBlur(有效去除脉冲噪声和椒盐噪声)

    六、双边滤波——bilateralFilter()

     1 #include<opencv2/opencv.hpp>
     2 using namespace cv;
     3 
     4 void main(){
     5     Mat src=imread("E://1.jpg");
     6     Mat dst;
     7 
     8     //boxFilter(src,dst,-1,Size(3,3),Point(-1,-1),true);//方框滤波器
     9     //blur(src,dst,Size(5,5));//均值滤波
    10     //GaussianBlur(src,dst,Size(5,5),1);//高斯滤波
    11     //medianBlur(src,dst,5);//中值滤波
    12     bilateralFilter(src,dst,5,10.0,2.0);//双边滤波
    13 
    14     imshow("src",src);
    15     imshow("dst",dst);
    16     waitKey(0);
    17 }

    七、滑动条调整内核大小

     1 #include<opencv2/opencv.hpp>
     2 using namespace cv;
     3 Mat dst;
     4 int value=21;
     5 
     6 void onChange(int,void* param){
     7     Mat src=*(Mat *)param;
     8     if(value%2==0){
     9         medianBlur(src,dst,value-1);//中值滤波的第三个参数为奇数
    10     }
    11     else
    12     {
    13         medianBlur(src,dst,value);
    14     }
    15     imshow("windows",dst);
    16 }
    17 
    18 void main(){
    19     Mat src=imread("E://1.jpg");
    20     namedWindow("windows",CV_WINDOW_AUTOSIZE);
    21     createTrackbar("滑动条","windows",&value,99,onChange,&src);//最后一个参数若设置为0,移动滑动条时会报错
    22     medianBlur(src,dst,21);
    23     imshow("windows",dst);
    24     waitKey(0);
    25 }

  • 相关阅读:
    怎么保存退出vi编辑
    rpmlib(PayloadIsLzma) <= 4.4.6-1 is needed【转载】
    自制rpm包
    程序员应该具备的十个代码习惯
    面试时可以问的问题
    Git教程(二)-如何上传和同步自己的git项目
    Git教程及问题解析
    HTML5调用百度地图API进行地理定位实例
    PHP基于单例模式编写PDO类的方法
    PHP输出缓存ob系列函数详解
  • 原文地址:https://www.cnblogs.com/little-monkey/p/7222454.html
Copyright © 2020-2023  润新知