关闭

OpenCV 各种滤波器的简单使用

标签: opencv滤波器
622人阅读 评论(0) 收藏 举报
分类:

一. 实验描述

对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);
    }
};

三. 实验结果

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

如有错误请指正

0
0
猜你在找
【套餐】Hadoop生态系统零基础入门
【套餐】嵌入式Linux C编程基础
【套餐】2017软考系统集成项目——任铄
【套餐】Android 5.x顶级视频课程——李宁
【套餐】深度学习入门视频课程——唐宇迪
【直播】广义线性模型及其应用——李科
【直播】从0到1 区块链的概念到实践
【直播】计算机视觉原理及实战——屈教授
【直播】机器学习之凸优化——马博士
【直播】机器学习&数据挖掘7周实训--韦玮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:116349次
    • 积分:3218
    • 等级:
    • 排名:第10550名
    • 原创:213篇
    • 转载:3篇
    • 译文:0篇
    • 评论:36条
    最新评论