1、CornerEigenValsAndVecs函数
计算图像块的特征值和特征向量,用于角点检测
2、
CornerEigenValsAndVecs函数调用形式
void cvCornerEigenValsAndVecs( const CvArr* image, CvArr* eigenvv,
int block_size, int aperture_size=3 );
对每个象素,函数 cvCornerEigenValsAndVecs 考虑 block_size × block_size 大小的邻域 S(p),然后在邻域上计算图像差分的相关矩阵:
然后它计算矩阵的特征值和特征向量,并且按如下方式(λ1, λ2, x1, y1, x2, y2)存储这些值到输出图像中,其中
opencv 代码:
<span style="font-size:18px;">#include<opencv2/imgproc/imgproc.hpp> #include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> #include<iostream> 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<Vec6f>(100, 100)[1] << endl; return 0; } </span>