zoukankan      html  css  js  c++  java
  • OpenCV2:大学篇 形态学技术-腐蚀与膨胀操作

    一.简介

    图像处理中的形态学操作用于图像预处理操作(去噪 形状简化) 图像增强(骨架提取 细化  凸包  物体标记)  物体背景分割及物体形态量化等场景

    二.腐蚀与膨胀操作

    OpenCV 提供了 erode() 进行腐蚀操作

                  提供了 dilate() 进行膨胀操作

    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    #include <iostream>
    
    int main()
    {
        cv::Mat srcImage = cv::imread("a.jpg");
        if (!srcImage.data)
            return -1;
    
        // 灰度化
        cv::Mat srcGray;
        cvtColor(srcImage, srcGray, CV_RGB2GRAY);
    
        // 分通道二值化
        cv::Mat segDst, dilDst, eroDst;
        cv::inRange(srcGray, cv::Scalar(0, 0, 100), cv::Scalar(40, 30, 255), segDst);
    
        // 定义结构元素
        cv::Mat element = cv::getStructuringElement(cv::MORPH_ELLIPSE, cv::Size(5, 5));
    
        // 膨胀操作
        cv::dilate(segDst, dilDst, element);
    
        // 腐蚀操作
        cv::erode(segDst, eroDst, element);
    
        cv::imshow("源图像", srcGray);
        cv::imshow("二值图像", segDst);
        cv::imshow("膨胀图像", dilDst);
        cv::imshow("腐蚀图像", eroDst);
    
        cv::waitKey(0);
        return 0;
    
    }
  • 相关阅读:
    C#深复制和浅复制
    C#程序设计六大原则记录
    C#异步
    线程同步
    线程基础
    委托,事件
    XmlSerializer
    C#接口
    C#封装
    C#多态
  • 原文地址:https://www.cnblogs.com/k5bg/p/11230825.html
Copyright © 2011-2022 走看看