第五章 基于形态学运算的图像变换

来源:互联网 发布:大数据前景 编辑:程序博客网 时间:2024/06/15 08:02

由于形态学的惯例是用高(白色)像素表示前景物体,用低(黑色)像素表示背景物体,我们需要对图像进行取反。

在opencv中,腐蚀和膨胀由函数cv::erode和cv::dilate实现,用法如下:

<span style="font-size:18px;">cv::Mat image=cv::imread("binary.bmp");</span>
<span style="font-size:18px;">cv::Mat eroded;</span>
<span style="font-size:18px;">cv::erode(image,eroded,cv::Mat());</span>
<span style="font-size:18px;">cv::namedWindow("Eroded Image");</span>
<span style="font-size:18px;">cv::imshow("Eroded Image",eroded);</span>

当应用到一个给定像素时,结构像素的锚点与该像素的位置对齐,而所有与他相交的像素都被包括在当前的像素集合中。

腐蚀替换当前像素位像素集合中找到的最小像素值。膨胀则是相反操作。

腐蚀可以消除一些极其细小的东西(噪声)

膨胀后物体会更大,同时物体内部的一些噪声被填满。

在opencv中,开闭运算用cv::MORPH_CLOSE和cv::MORTH_OPEN实现

闭运算:先膨胀,再腐蚀

开运算:先腐蚀,再膨胀


0 0
原创粉丝点击