Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing OpenCV中的级联Hough变换_Image Processing_Opencv - Fatal编程技术网

Image processing OpenCV中的级联Hough变换

Image processing OpenCV中的级联Hough变换,image-processing,opencv,Image Processing,Opencv,是否可以在OpenCV中执行级联Hough变换?我知道这只是一个HT,然后是另一个HT。我面临的问题是,返回的值总是rho和θ,而不是y截距形式 是否可以将这些值转换回y截距,并将其拆分为子空间,以便检测消失点 还是自己用Python编写HT的实现更好?我认为OpenCV不能执行级联hough变换。您应该自己将它们转换为xy空间。本文可能会帮助您: 您可以尝试使用m和c参数来填充Hough域,这样y=mx+c可以被重新写入c=y-mx,因此您可以使用c=y-mx代替通常的rho=x cos(θ)

是否可以在OpenCV中执行级联Hough变换?我知道这只是一个HT,然后是另一个HT。我面临的问题是,返回的值总是rho和θ,而不是y截距形式

是否可以将这些值转换回y截距,并将其拆分为子空间,以便检测消失点


还是自己用Python编写HT的实现更好?

我认为OpenCV不能执行级联hough变换。您应该自己将它们转换为xy空间。本文可能会帮助您:


您可以尝试使用m和c参数来填充Hough域,这样y=mx+c可以被重新写入c=y-mx,因此您可以使用c=y-mx代替通常的rho=x cos(θ)+y sin(θ)

通常,你要通过θ来计算ρ,然后增加ρ和θ对的累加器值。在这里,你要通过m的值计算c的值,然后在累加器中累加m,c元素。得票最多的垃圾箱将是右边的m,c

// going through the image looking for edge pixels
for (i = 0;i<numrows;i++)
    {
        for (j = 0;j<numcols;j++)
        {
            if (img[i*numcols + j] > 1)
            {
                for (n = first_m;n<last_m;n++)
                {   
                    index = i - n * j;
                    accum[n][index]++;
                }
            }
        }
    }
//在图像中查找边缘像素

对于(i=0;iThanks)。但我认为我需要直接求解y截距形式的HT,而不是转换。你知道将hough空间拆分为3个子空间是什么意思吗,就像级联hough变换一样?