OpenCV2:大学篇 形态学技术-腐蚀与膨胀操作

Posted k5bg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

 

以上是关于OpenCV2:大学篇 形态学技术-腐蚀与膨胀操作的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV 图像处理(形态学滤波:腐蚀与膨胀,开运算闭运算形态学梯度顶帽黑帽)

OpenCV图像处理篇之腐蚀与膨胀

形态学操作-腐蚀与膨胀

opencv学习之路(14)形态学之膨胀腐蚀

youcans 的 OpenCV 例程200篇136. 灰度腐蚀和灰度膨胀

OpenCV 形态学操作:膨胀与腐蚀