滤波

include "cv.h"

#include "highgui.h"
#include <iostream>

using namespace std;
using namespace cv;

int main(int argc, char* argv[])
{
    Mat src = imread("misaka.jpg");
    Mat dst;

    //参数是按顺序写的

    //高斯滤波
    //src:输入图像
    //dst:输出图像
    //Size(5,5)模板大小,为奇数
    //x方向方差
    //Y方向方差
    GaussianBlur(src,dst,Size(5,5),0,0);
    imwrite("gauss.jpg",dst);
    
    //中值滤波
    //src:输入图像
    //dst::输出图像
    //模板宽度,为奇数
    medianBlur(src,dst,3);
    imwrite("med.jpg",dst);
    
    //均值滤波
    //src:输入图像
    //dst:输出图像
    //模板大小
    //Point(-1,-1):被平滑点位置,为负值取核中心
    blur(src,dst,Size(3,3),Point(-1,-1));
    imwrite("mean.jpg",dst);

    //双边滤波
    //src:输入图像
    //dst:输入图像
    //滤波模板半径
    //颜色空间标准差
    //坐标空间标准差
    bilateralFilter(src,dst,5,10.0,2.0);//这里滤波没什么效果,不明白
    imwrite("bil.jpg",dst);

    waitKey();

    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容