zoukankan      html  css  js  c++  java
  • [学习opencv]图像腐蚀、膨胀、开闭操作

    图像的基本形态学操作。

    #include "cv.h"
    #include "highgui.h"
    
    using namespace cv;
    
    int main(int argc, char* argv[])
    {
            Mat src = imread("misaka.jpg");
            Mat dst;
            
            //输入图像
            //输出图像
            //单元大小,这里是5*5的8位单元
            //腐蚀位置,为负值取核中心
            //腐蚀次数两次
            erode(src,dst,Mat(5,5,CV_8U),Point(-1,-1),2);
            imwrite("erode.jpg",dst);
    
            //输入图像
            //输出图像
            //单元大小,这里是5*5的8位单元
            //膨胀位置,为负值取核中心
            //膨胀次数两次
            dilate(src,dst,Mat(5,5,CV_8U),Point(-1,-1),2);
            imwrite("dilate.jpg",dst);
    
            //输入图像
            //输出图像
            //定义操作:MORPH_OPEN为开操作,MORPH_CLOSE为闭操作
            //单元大小,这里是3*3的8位单元
            //开闭操作位置
            //开闭操作次数
            morphologyEx(src,dst,MORPH_OPEN,Mat(3,3,CV_8U),Point(-1,-1),1);
            imwrite("open.jpg",dst);
    
            morphologyEx(src,dst,MORPH_CLOSE,Mat(3,3,CV_8U),Point(-1,-1),1);
            imwrite("close.jpg",dst);
    
            imshow("dst",dst);
            waitKey();
    
            return 0;
    }

    原图:

    5*5单元腐蚀两次:

    5*5单元膨胀两次:

    3*3单元开操作一次:

    3*3单元闭操作一次:

  • 相关阅读:
    Git本地windows凭证账号更改
    解决vue ui创建项目很慢的原因
    跨域问题总结
    JS柯里化
    vue diff算法讲解
    当面试官问你闭包时,他究竟想听到些什么?
    JS中的 ==
    必须知道的 prototype, [[prototype]], __proto__
    Deepcopy in Javascript
    http问题整理
  • 原文地址:https://www.cnblogs.com/tiandsp/p/3032763.html
Copyright © 2011-2022 走看看