cornerEigenValsAndVecs
void cv::cornerEigenValsAndVecs(
Mat src,
Mat dst,
int blockSize,
int ksize,
int borderType = BORDER_DEFAULT
)
void Cv2.CornerEigenValsAndVecs(
Mat src,
Mat dst,
int blockSize,
int ksize,
BorderTypes borderType = BorderTypes.Reflect101
)
dst = cv2.cornerEigenValsAndVecs(
src,
blockSize,
ksize,
dst = None,
borderType = None
)
Note:
모든 픽셀 p에 대해 블록 크기(blockSize) 이웃 S(p)를 계산합니다.
Tip:
입력 이미지(src)는 단일 채널 8 비트 형식 이미지를 사용하거나, 부동 소수점 형식 이미지를 사용합니다.
출력 이미지(dst)는 CV_32FC6 형식을 반환합니다.
출력 이미지(dst)는 CV_32FC6 형식을 반환합니다.
- 공변량 행렬(Covariation matrix)의 미분(Derivatives)은
- \(x_1\), \(y_1\)은 \(\lambda _1\)의 고유 벡터입니다.
- \(x_2\), \(y_2\)은 \(\lambda _2\)의 고유 벡터입니다.
- \(\lambda _1\), \(\lambda _2\)는 행렬(M)의 정렬되지 않은 고윳값입니다.
소벨(Sobel)
연산자를 활용합니다.
- \(x_1\), \(y_1\)은 \(\lambda _1\)의 고유 벡터입니다.
- \(x_2\), \(y_2\)은 \(\lambda _2\)의 고유 벡터입니다.
- \(\lambda _1\), \(\lambda _2\)는 행렬(M)의 정렬되지 않은 고윳값입니다.
공변량 행렬 미분 계산식(Covariation matrix of derivatives Formula): $$ M = \begin{bmatrix} \sum _{S(p)}(\frac{dI}{dx})^2 & \sum _{S(p)}\frac{dI}{dx} \frac{dI}{dy} \\ \sum _{S(p)}\frac{dI}{dx} \frac{dI}{dy} & \sum _{S(p)}(\frac{dI}{dy})^2 \end{bmatrix} $$
요약(Summary)
입력 이미지에 코너 검출을 위한 고윳값과 고유 벡터를 계산합니다.
매개변수(Parameter)
입력 이미지(src)
고윳값과 고유 벡터를 계산하려는 입력 이미지
출력 이미지(dst)
고윳값과 고유 벡터가 계산된 이미지
블록 크기(blockSize)
이웃(Neighborhood)의 크기
커널 크기(ksize)
소벨(Sobel) 커널의 크기
외삽 방식(borderType)
이미지 밖의 픽셀을 외삽하는데 사용되는 방식
반환값(Returns)
출력 이미지(dst) 고윳값과 고유 벡터가 계산된 이미지