python-cornerHarris中的ksize和k是什么意思?
我在玩OpenCV中的cornerHarris函数.我不明白ksize和k在函数中的含义.文档在公式中提到ksize是所用Sobel导数的Aperture参数,k是等式中的k是无Harris检测器的参数,但是我不确定它的真正含义是什么? 有人可以帮我理解吗? 我试图检测立方体中的角,结果是: 使用我在文档中使用的简单代码:
我尝试调整K,但不了解它的作用,尽管我意识到将K增加到超出限制会导致检测到零角. 最佳答案
哈里斯角落检测器用于从灰度图像中提取角落.
哈里斯探测器的工作原理是首先计算图像梯度,然后计算梯度的协方差,该协方差是局部Hessian的近似值. 它包含四个主要步骤: >边缘检测(空间导数计算)-第一步是将灰度图像转换为边缘图像.有很多技术可以做到这一点,但是cv2使用了一个称为Sobel内核的过滤器,该过滤器与原始图像互相关. ksize参数确定Sobel内核的大小(3×3、5×5等).随着大小的增加,每个卷积过程将包含更多像素,并且边缘将变得更加模糊. >哈里斯响应计算-在此步骤中,我们计算每个边缘像素的“角分”R.想法是,仅当像素在2个垂直方向上具有较大的梯度时,才将其定义为角点,这意味着M矩阵具有2个大特征值(1个大特征值将只是一个边缘). k参数可让您在此步骤中产生影响,权衡精度和召回率.因此,k越大,假角就越少,但真实的角也就越少(高精度),k越小,拐角就越多,因此,真角就越少,但是假角却越多错误的(高召回率). >非最大抑制-找到每个局部区域中的角点像素最大值,其余部分被抑制. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |