形态学操作

China☆狼群 提交于 2020-01-07 12:17:43

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

膨胀和腐蚀

膨胀和腐蚀是相对于亮度区域而言的,膨胀操作即将亮度的区域进行扩展,腐蚀操作相反,是将亮度区域进行腐蚀掉。

#include <opencv2/opencv.hpp>
#include <iostream>

int main()
{
	cv::Mat img = cv::imread("pic/dige.png");
	if (img.empty())
	{
		std::cout << "Read images failed!" << std::endl;
		return -1;
	}
	cv::namedWindow("src", CV_WINDOW_NORMAL);
	cv::imshow("src", img);

	cv::Mat elem = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(4,4));

	//膨胀操作,将亮度区域扩张
	cv::Mat dilate;
	cv::dilate(img, dilate, elem, cv::Point(), 1);
	cv::namedWindow("dilate", CV_WINDOW_NORMAL);
	cv::imshow("dilate", dilate);

	//腐蚀操作,将亮度区域腐蚀掉
	cv::Mat erode;
	cv::erode(img, erode, elem);
	cv::namedWindow("erode", CV_WINDOW_AUTOSIZE);
	cv::imshow("erode", erode);


	cv::waitKey(0);
	return 0;
}

效果图:左下角为膨胀,右下角为腐蚀。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!