欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

opencv的中值滤波、双边滤波、提高对比度

程序员文章站 2024-03-16 23:09:58
...
// 双边模糊和中值滤波.cpp: 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "opencv/highgui.h"
#include "opencv2/opencv.hpp"
#include "iostream"
using namespace cv;
using namespace std;


int main()
{

    Mat src, medianImage, bilateralImage,bilateralImage1;
    src = imread("angelababy.jpg");
    if (src.empty()) {
        return -1;
    }
    imshow("src", src);

    //中值滤波 能很好的处理椒盐噪声
    medianBlur(src, medianImage,3);
    imshow("medianImage", medianImage);


    //双边滤波(磨皮效果)
    bilateralFilter(medianImage, bilateralImage1,15, 50, 5);
    imshow("bilateralImage1", bilateralImage1);


    //提高图像的对比度
    Mat result;
    Mat kernel = (Mat_<int>(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
    filter2D(bilateralImage1, result, -1, kernel, Point(-1, -1), 0); 
    imshow("result", result);
    waitKey();
    return 0;
}