Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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
Java 在圆霍夫变换中,累加器分辨率的反比(dp)是多少?它如何影响圆检测?_Java_Android_Opencv_Computer Vision - Fatal编程技术网

Java 在圆霍夫变换中,累加器分辨率的反比(dp)是多少?它如何影响圆检测?

Java 在圆霍夫变换中,累加器分辨率的反比(dp)是多少?它如何影响圆检测?,java,android,opencv,computer-vision,Java,Android,Opencv,Computer Vision,OpenCV文档说明: dp:累加器分辨率与图像分辨率的反比。例如,如果dp=1,累加器的分辨率与输入图像相同。如果dp=2,则蓄能器的宽度和高度为原来的一半 但它没有给出该值的大小如何影响圆检测的指示。我认为累加器只是一个极大值的集合,它是如何有分辨率的?在霍夫变换过程中,您将输入图像变换为所谓的霍夫空间。当试图找到圆时,它是三维的(三维是圆心和半径的坐标)。在变换过程中,输入图像中的每个边缘像素都会投票给该像素可能所在的所有可能的圆 您可以将投票视为在三维矩阵(hough空间)中增加多个值。

OpenCV文档说明:

dp:累加器分辨率与图像分辨率的反比。例如,如果dp=1,累加器的分辨率与输入图像相同。如果dp=2,则蓄能器的宽度和高度为原来的一半


但它没有给出该值的大小如何影响圆检测的指示。我认为累加器只是一个极大值的集合,它是如何有分辨率的?

在霍夫变换过程中,您将输入图像变换为所谓的霍夫空间。当试图找到圆时,它是三维的(三维是圆心和半径的坐标)。在变换过程中,输入图像中的每个边缘像素都会投票给该像素可能所在的所有可能的圆

您可以将投票视为在三维矩阵(hough空间)中增加多个值。投票后,在该矩阵中搜索最大值,并读取圆心及其半径

矩阵越大(与输入图像相比)(dp越小),投票的分辨率越高。分辨率越高,圆检测越精确


但是,检测越精确,就越有可能漏掉轻微退化的圆,或者检测到多个圆而不是一个有大边缘的圆。

hi,很好的解释。只是想知道dp的一些常用值是什么?完全取决于要检测的圆,即厚度和退化,例如,如果要检测像素精度的圆心和半径,请将
dp
设置为1,否则更高。