图像处理-形态学重建

形态学重建算法

本文将着重介绍《Hands-on morphological image processing》一书中所讲述的形态学重建算法,该书是Dougherty等人于2003年出版的一部关于图像处理算法的书籍,主要讲述了形态学处理的一些基础操作内容。

6.4Gray-Scale Morphological Reconstruction

Dougherty E R, Lotufo R A. Hands-on morphological image processing[M]. SPIE press, 2003.

形态学重建原理

图像处理-形态学重建_第1张图片

测地膨胀形态学重建代码

/*
* src为标记图(已经过腐蚀操作)
* msk为掩模
* dst为结果图像
* se为执行重建的结构元素
* iterations为标记值
*/
void lhMorpRDilate(cv::Mat& src, cv::Mat& msk, cv::Mat& dst, const cv::Mat& se, int iterations)     //执行重建运算
{
	if (iterations < 0)
	{
		int n = 1;
		cv::min(src, msk, dst);
		cv::dilate(dst, dst, se);  //执行一次测地膨胀
		cv::min(dst, msk, dst);
		cv::Mat temp1;       //过渡参数
		cv::Mat temp2;
		//判断前后两次测地膨胀的结果是否发生变化
		do
		{
			n++;
			(dst).copyTo(temp1);
			cv::dilate(dst, dst, se);  //再执行一次测地膨胀
			cv::min(dst, msk, dst);
			cv::compare(temp1, dst, temp2, cv::CMP_NE);  //比较两次测地膨胀的结果
		} while (cv::sum(temp2).val[0] != 0);
	}
}

你可能感兴趣的:(opencv点云/图像处理,c++,图像处理)