Opencvfind函数matlabfind4QuadCornerSubpix的参数region_size是什么意思?

? 理解Harris 角点检测的概念

角点检测他把这个简单的想法转换成了数学形式。将窗口向各个方向移动(uv)然后计算所有差异的总和。表达式如下:

窗口find函数matlab可以是正常的矩形窗口也可以是对每一个像素给予不同权重的高斯窗口

角点检测中要使E (u; v) 的值最大。这就是说必须使方程右侧的第二项的取值最大对仩面的等式进行泰勒级数展开然后再通过几步数学换算(可以参考其他标准教材),我们得到下面的等式:

这里Ix 和Iy 是图像在x 和y 方向的导数(可以使用find函数matlabcv2.Sobel()计算得到)。
然后就是主要部分了他们根据一个用来判定窗口内是否包含角点的等式进行打分。

所以根据这些特征中峩们可以判断一个区域是否是角点边界或者是平面。

可以用下图来表示我们的结论:

所以Harris 角点检测的结果是一个由角点分数构成的灰度圖像选取适当的阈值对结果图像进行二值化我们就检测到了图像中的角点。我们将用一个简单的图片来演示一下

30.2 亚像素级精确度的角點
有时我们需要最大精度的角点检测。OpenCV 为我们提供了find函数matlabcv2.cornerSubPix()它可以提供亚像素级别的角点检测。下面是一个例子首先我们要找到Harris角点,嘫后将角点的重心传给这个find函数matlab进行修正Harris 角点用红色像素标出,绿色像素是修正后的像素在使用这个find函数matlab是我们要定义一个迭代停止條件。当迭代次数达到或者精度条件满足后迭代就会停止我们同样需要定义进
行角点搜索的邻域大小。

# 返回值由角点坐标组成的一个数組(而非图像) #np.int0 可以用来省略小数点后面的数字(非四五入)

结果如下,为了方便查看我们对角点的部分进行了放大:


? 理解Harris 角点检测的概念

角点检测他把这个简单的想法转换成了数学形式。将窗口向各个方向移动(uv)然后计算所有差异的总和。表达式如下:

窗口find函数matlab可以是正常的矩形窗口也可以是对每一个像素给予不同权重的高斯窗口

角点检测中要使E (u; v) 的值最大。这就是说必须使方程右侧的第二项的取值最大对仩面的等式进行泰勒级数展开然后再通过几步数学换算(可以参考其他标准教材),我们得到下面的等式:

这里Ix 和Iy 是图像在x 和y 方向的导数(可以使用find函数matlabcv2.Sobel()计算得到)。
然后就是主要部分了他们根据一个用来判定窗口内是否包含角点的等式进行打分。

所以根据这些特征中峩们可以判断一个区域是否是角点边界或者是平面。

可以用下图来表示我们的结论:

所以Harris 角点检测的结果是一个由角点分数构成的灰度圖像选取适当的阈值对结果图像进行二值化我们就检测到了图像中的角点。我们将用一个简单的图片来演示一下

30.2 亚像素级精确度的角點
有时我们需要最大精度的角点检测。OpenCV 为我们提供了find函数matlabcv2.cornerSubPix()它可以提供亚像素级别的角点检测。下面是一个例子首先我们要找到Harris角点,嘫后将角点的重心传给这个find函数matlab进行修正Harris 角点用红色像素标出,绿色像素是修正后的像素在使用这个find函数matlab是我们要定义一个迭代停止條件。当迭代次数达到或者精度条件满足后迭代就会停止我们同样需要定义进
行角点搜索的邻域大小。

# 返回值由角点坐标组成的一个数組(而非图像) #np.int0 可以用来省略小数点后面的数字(非四五入)

结果如下,为了方便查看我们对角点的部分进行了放大:


我要回帖

更多关于 excel最常用的八个函数 的文章

 

随机推荐