c语言corner函数,CornerEigenValsAndVecs函数

1、CornerEigenValsAndVecs函数

计算图像块的特征值和特征向量,用于角点检测

2、

CornerEigenValsAndVecs函数调用形式

void cvCornerEigenValsAndVecs( const CvArr* image, CvArr* eigenvv,

int block_size, int aperture_size=3 );

image

输入图像.

eigenvv

保存结果的数组。必须比输入图像宽 6 倍。

block_size

邻域大小 (见讨论).

aperture_size

Sobel 算子的核尺寸(见 cvSobel).

对每个象素,函数 cvCornerEigenValsAndVecs 考虑 block_size × block_size 大小的邻域 S(p),然后在邻域上计算图像差分的相关矩阵:

0818b9ca8b590ca3270a3433284dd417.png

然后它计算矩阵的特征值和特征向量,并且按如下方式(λ1, λ2, x1, y1, x2, y2)存储这些值到输出图像中,其中

λ1, λ2 - M 的特征值,没有排序

(x1, y1) - 特征向量,对 λ1

(x2, y2) - 特征向量,对 λ2

opencv 代码:

#include

#include

#include

#include

using namespace cv;

using namespace std;

int main()

{

Mat src;

src= imread("D:6.jpg");

Mat dst(src.size(),CV_32FC(6));

cvtColor(src, src, CV_RGB2GRAY);

cornerEigenValsAndVecs(src, dst, 3, 3, BORDER_DEFAULT);

cout << dst.at(100, 100)[1] << endl;

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值