【问题标题】:opening and closing using OpenCV使用 OpenCV 打开和关闭
【发布时间】:2012-07-19 18:47:12
【问题描述】:

如何使用 OpenCV 和 C# 实现图像处理、打开和关闭的技术?谁能举个例子?

谢谢

【问题讨论】:

    标签: c# opencv


    【解决方案1】:

    如果您使用 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

    【讨论】:

    • greygrey.Widthgrey.Height 中是什么?
    • 哦,没有解决这个问题。它来自单元测试。您可以将灰色替换为 src。
    • EmguCV 至少是 2.4.0 版本(这是我拥有的最旧版本),您可以直接在图像对象上调用 MorphologyEx 或 _MorphologyEx,而不是使用 CvInvoke。
    【解决方案2】:

    我假设您使用的是EmguCV。您可以使用MorphologyEx 方法,它实现了简单和复杂的基于形态学的操作

    【讨论】:

      【解决方案3】:

      要实现开放,您需要先调用 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-14
        • 1970-01-01
        相关资源
        最近更新 更多