我使用带有边缘检测器应用程序的EmguCV houghines来检测消融棒(来自带有红色和白色条纹的木材的棒),我需要知道如何获得以像素为单位的线长,例如:第一行长50px。

代码样本

class HoughTransform
{
    private Image<Gray, Byte> _sourceImage;
    private Image<Gray, Byte> _linesImage;
    private Image<Gray, Byte> _resultImage;

    public HoughTransform()
    {

    }

    public void applyTransform()
    {
        try
        {
            _linesImage = _sourceImage.CopyBlank();
            LineSegment2D [] lines = _sourceImage.HoughLinesBinary(1, Math.PI/ 0.0, 50, 100, 1)[0];
            foreach(LineSegment2D line in lines)
            {
                _linesImage.Draw(line,new Gray(200), 5);
            }
            _resultImage = _linesImage;
        }
        catch(Exception e)
        {
            MessageBox.Show(e.ToString());
        }
    }

最佳答案

根据LineSegment2D的文档,可通过Length属性获得行的长度。

line.Length

关于c# - Emgucv Houghlines行长,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27741450/

10-12 12:26