OpenCV 各种滤波器的简单使用

原创 2016年08月30日 19:41:40

一. 实验描述

对OpenCV的滤波器进行简单的使用,其中包括:方框滤波、均值滤波、高斯滤波、中值滤波、双边滤波、膨胀、腐蚀、开运算、闭运算、形态学梯度、顶帽和黑帽。

二. 实验代码

class Task13 {
public:
    void deal() {
        Mat src_img = imread("img\\1.jpg");

        imshow("原图", src_img);

        Mat out1;
        boxFilter(src_img, out1, -1, Size(20, 20));
        imshow("方框滤波", out1);

        Mat out2;
        blur(src_img, out2, Size(20, 20));
        imshow("均值滤波", out2);

        Mat out3;
        GaussianBlur(src_img, out3, Size(21, 21), 0, 0);
        imshow("高斯滤波", out3);

        Mat out4;
        medianBlur(src_img, out4, 21);
        imshow("中值滤波", out4);

        Mat out5;
        bilateralFilter(src_img, out5, 20, 20 * 2, 20 / 2);
        imshow("双边滤波", out5);

        Mat out6;
        Mat element = getStructuringElement(MORPH_RECT, Size(20, 20));
        dilate(src_img, out6, element);
        imshow("膨胀", out6);

        Mat out7;
        erode(src_img, out7, element);
        imshow("腐蚀", out7);

        Mat out8;
        morphologyEx(src_img, out8, MORPH_OPEN, element);
        imshow("开运算", out8);

        Mat out9;
        morphologyEx(src_img, out9, MORPH_CLOSE, element);
        imshow("闭运算", out9);

        Mat out10;
        morphologyEx(src_img, out10, MORPH_GRADIENT, element);
        imshow("形态学梯度", out10);

        Mat out11;
        morphologyEx(src_img, out11, MORPH_TOPHAT, element);
        imshow("顶帽", out11);

        Mat out12;
        morphologyEx(src_img, out12, MORPH_BLACKHAT, element);
        imshow("黑帽", out12);

        waitKey(0);
    }
};

三. 实验结果

这里写图片描述
这里写图片描述

如有错误请指正

版权声明:by whai

相关文章推荐

Opencv学习笔记(一)滤波器原理及其使用

滤波器是根据原有图像的某个像素的周围像素来确定新的像素值,滤波器主要的作用是用来消去噪声的,消除图像中的不合理的像素点。滤波器主要包括线性滤波器和非线性滤波器,其中线性滤波器包括均值滤波,方框滤波和高...

OpenCV2学习笔记(五):图像滤波基础

滤波是数字图像处理中的一个基本操作,在信号处理领域可以说无处不在。图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,通常是数字图像处理中不可缺少的操作,其处理效果的好坏将直接影响到后...

opencv中的各种滤波函数

线性滤波 方框滤波 void boxFilter(InputArray src, OutputArray, dst,  int ddepth, Size ksize, Point Anchor =...
  • alickr
  • alickr
  • 2016-07-17 03:42
  • 2136

<OpenCV1> 简单滤波器+波纹函数

#include #include using namespace std; using namespace cv;//该函数目标是让目标图像锐化 void Sharpen(const Mat &i...

OpenCV:使用Kalman滤波器跟踪一个旋转的点

#include #include #include int main(int argc, char** argv){ const float A[] = { 1, 1, 0, 1 ...

使用OpenCV进行图片模糊处理(归一化滤波器)

本篇博客主要介绍如何使用OpenCV自带的归一化滤波器来对图片进行处理,达到模糊图片的效果。

使用OpenCV进行图片模糊处理(高斯滤波器)

本篇博客主要介绍如何使用OpenCV自带的高斯滤波器来对图片进行处理,达到模糊图片的效果。

OpenCV使用Sobel滤波器实现图像边缘检测

纯粹阅读,请移步OpenCV使用Sobel滤波器实现图像边缘检测效果图源码KqwOpenCVFeaturesDemoSobel滤波器也叫Sobel算子,与Canny边缘检测一样,需要计算像素的灰度梯度...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)