【发布时间】:2012-07-19 18:47:12
【问题描述】:
如何使用 OpenCV 和 C# 实现图像处理、打开和关闭的技术?谁能举个例子?
谢谢
【问题讨论】:
如何使用 OpenCV 和 C# 实现图像处理、打开和关闭的技术?谁能举个例子?
谢谢
【问题讨论】:
如果您使用 EmguCV(如 go4sri 假设),则用于打开 EmguCV 的代码 sn-p 如下所示:
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
【讨论】:
grey 在grey.Width 和grey.Height 中是什么?
我假设您使用的是EmguCV。您可以使用MorphologyEx 方法,它实现了简单和复杂的基于形态学的操作
【讨论】:
要实现开放,您需要先调用 erode,然后再调用 dilate。 关闭是通过先调用 dilate 然后 erode 来完成的。
参考资料:
http://opencv.willowgarage.com/documentation/image_filtering.html
http://opencv.itseez.com/doc/tutorials/imgproc/opening_closing_hats/opening_closing_hats.html
【讨论】: