OPENCV学习笔记 - Harris Corner Detection (角点检测)

OPENCV学习笔记 - Harris Corner Detection (角点检测)

原理

牵涉到泰勒公式,特征向量特征值,PCA(这里暂且没有研究),正定矩阵性质
https://www.youtube.com/watch?v=WyrVzTRZuXA&t=1413s
感谢这个youtuber清晰的解释!有忘记线代原理的同学可以移步
下面是我的笔记(乱糟糟乱糟糟
OPENCV学习笔记 - Harris Corner Detection (角点检测)
OPENCV学习笔记 - Harris Corner Detection (角点检测)
OPENCV学习笔记 - Harris Corner Detection (角点检测)
OPENCV学习笔记 - Harris Corner Detection (角点检测)

代码

这里我用的摄像头哈

import cv2
import numpy as np

cap = cv2.VideoCapture(0)

while True:
    _, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)

    gray = np.float32(gray)
    dst = cv2.cornerHarris(gray, 2,  # 导数平滑的相邻像素的尺寸
                           7,  # 梯度计算的滤波器孔径大小
                           0.15)  # Harris的相关参数

    dst = cv2.dilate(dst, None)

    frame[dst>0.01*dst.max()] = [255, 50, 255]

    cv2.imshow('frame', frame)
    if cv2.waitKey(5) & 0xff == 27:
        break

cv2.destroyAllWindows()
cap.release()

结果

参数调整还有问题,我的圆角键盘corner识别的很好
OPENCV学习笔记 - Harris Corner Detection (角点检测)