2012-07-19 48 views

回答

1

我假设你正在使用EmguCV。您可以使用MorphologyEx方法,实现了既简单又复杂的形态基于操作

3

如果您正在使用EmguCV(如go4sri假定)的代码段开放EmguCV应该是这样的:

Image<Gray, Byte> src = new Image<Gray, Byte>("Your Image.png"); 
Image<Gray, Byte> dst = new Image<Gray, Byte>(src.Width, src.Height); 
StructuringElementEx element = new StructuringElementEx(3, 3, 1, 1, Emgu.CV.CvEnum.CV_ELEMENT_SHAPE.CV_SHAPE_CROSS); 

CvInvoke.cvMorphologyEx(src, dst, IntPtr.Zero, element, CV_MORPH_OP.CV_MOP_OPEN, 1); 

ImageViewer.Show(dst, "Your morphed Image"); 

用于关闭你就只需要更换枚举

CV_MORPH_OP.CV_MOP_CLOSE 

更多有关这些功能的访问EmguCV Doc

+0

什么在'grey.Width'和'grey.Height'中是'grey'? – dumbledad 2013-10-13 11:59:28

+0

哦,没有解决这个问题。它来自单元测试。你可以用src替换灰色。 – 2013-10-13 15:16:04

+1

由于EmguCV的版本至少为2.4.0(这是我拥有的最早的版本),因此您可以直接在图像对象上调用MorphologyEx或_MorphologyEx,而不是使用CvInvoke。 – rold2007 2014-07-30 21:09:08