鬼影实录哪一部最好看:17.5 分水岭分割算法(2) - 51CTO.COM

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 03:22:12

17.5  分水岭分割算法(2)

可以使用很多算法来对前景对象进行标记,标记的每个对象内部的像素值是连接在一起的。在这个例子中,使用形态学重建技术对前景对象进行标记,首先使用imopen函数对图像进行开操作,如图17-21中左边图像所示,使用半径为20的圆形结构元素,开操作是膨胀和腐蚀操作的结合。另外一种方法是先对图像进行腐蚀,然后对图像进行形态学重建,处理后的图像如图17-21右边图像所示。

  (点击查看大图)图17-21  开操作和重建操作结果对比 在开操作之后进行关操作可以去除一些很小的目标,例如苹果上的茎干和一些污点等,如图17-22中左边图像所示。另外一种方法是先对图像进行腐蚀,然后对图像进行形态学重建,重建后的图像如图17-22右边图像所示,注意在重建之前需要先对图像求反,然后在重建之后再进行一次求反。
  (点击查看大图)图17-22  关操作和重建操作结果对比

对比两幅图像Iobrcbr和Ioc,以重建为基础的开关操作(结果为Iobrcbr)比一般的开关操作(结果为Ioc)在去除小的污点时会更有效,并且不会影响这个图像的轮廓。

计算Iobrcbr的局部极大值会得到比较好的前景标记,如图17-23所示。

  (点击查看大图)图17-23  求取局部极大值的图像

为了更好地理解这个结果,我们可以在原来图像的基础上,显示局部极大值,对前景图像进行标记,如图17-24所示。

注意到图像中还有少部分目标物体,即苹果,未被正确地标记出,如果这些目标物体不能被正确地进行标记,则不能正确地进行分割。并且,少部分前景目标物体已经扩展到边缘,因此应该收缩一下边缘,可以先对图像进行关操作,然后再进行腐蚀来达到这样的效果。

这个过程会产生一些孤立的像素点,可以使用bwareaopen函数来达到这样的效果,这个过程将像素点数量较少的孤立像素点去除,如图17-25左边图像所示。

  (点击查看大图)图17-24  在原图上显示局部极大值