OpenCV2:大學篇 形態學技術-腐蝕與膨脹操做

一.簡介

圖像處理中的形態學操做用於圖像預處理操做(去噪 形狀簡化) 圖像加強(骨架提取 細化  凸包  物體標記)  物體背景分割及物體形態量化等場景ios

 

二.腐蝕與膨脹操做

OpenCV 提供了 erode() 進行腐蝕操做ui

              提供了 dilate() 進行膨脹操做spa

 

#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;

}
相關文章
相關標籤/搜索