| MATLAB File Help: cv.cornerEigenValsAndVecs | Index |
Calculates eigenvalues and eigenvectors of image blocks for corner detection
dst = cv.cornerEigenValsAndVecs(src)
dst = cv.cornerEigenValsAndVecs(src, 'OptionName', optionValue, ...)
src and the single type (where size(dst,3)==6).
Eigenvalues and eigenvectors are stored along the channels, see below.For every pixel p, the function cv.cornerEigenValsAndVecs considers a
blockSize x blockSize neigborhood S(p). It calculates the covariation
matrix of derivatives over the neighborhood as:
M = [
\sum_{S(p)}(dI/dx)^2 \sum_{S(p)}(dI/dx * dI/dy)
\sum_{S(p)}(dI/dx * dI/dy) \sum_{S(p)}(dI/dy)^2
]
where the derivatives are computed using the Sobel operator.
After that, it finds eigenvectors and eigenvalues of M and stores them in
the destination image as (lambda_1, lambda_2, x_1, y_1, x_2, y_2) where:
lambda_1, lambda_2 are the non-sorted eigenvalues of Mx_1, y_1 are the eigenvectors corresponding to lambda_1x_2, y_2 are the eigenvectors corresponding to lambda_2The output of the function can be used for robust edge or corner detection.