Opencv HoughLinesBinary找不到线条

Opencv HoughLinesBinary找不到线条,opencv,emgucv,Opencv,Emgucv,我在房子的图像上使用canny,然后在结果上使用HoughLinesBinary 原始图像: canny之后的图像: HoughLinesBinary找到的行: 正如你所见,它产生了许多人工制品,但没有像门的左侧那样标记直线 资料来源: public static Image<Bgr, byte> split_to_patterns(Image<Bgr, byte> original) { Image<Bgr, byte> res = original

我在房子的图像上使用canny,然后在结果上使用HoughLinesBinary

原始图像:

canny之后的图像:

HoughLinesBinary找到的行:

正如你所见,它产生了许多人工制品,但没有像门的左侧那样标记直线

资料来源:

public static Image<Bgr, byte> split_to_patterns(Image<Bgr, byte> original)
{
    Image<Bgr, byte> res = original.Copy();
    LineSegment2D[] lines =
        original
        .Convert<Gray, byte>()
        .Canny(16, 16)
        .HoughLinesBinary(1,Math.PI/16,1,10,1)[0];
    foreach (LineSegment2D line in lines)
    {
        res.Draw(line,new Bgr(Color.Red),2);
    }
    return res;
}

您是否尝试减少角度参数?在canny之前,您可能需要对图像进行高斯模糊,并找到更清晰的边缘,然后使用Hough参数SlineSegment2D[]lines=original.Convert//.SmoothGaussian3.Canny16,16.HoughlinesBinary 0.01,Math.PI/180,4,10,1[0];无论是否已注释,都找不到门的左侧。该侧由无中断的白色直线垂直线定义。