cv2.cornerHarris()函数
cv2.cornerHarris(src, blockSize, ksize, k, dst=None, borderType=None)
src:数据类型为 float32 的输入图像
blockSize:角点检测中考虑的区域大小
ksize:Sobel求导中使用的窗口大小
k:Harris 角点检测方程中的自由参数,取值参数为 [0.04 0.06]
dst:输出图像
borderType:边界的类型
import cv2
import numpy as np
img = cv2.imread('test_1.jpg')
print ('img.shape:',img.shape)#img.shape: (800, 1200, 3)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
#cv2.cornerHarris()函数的返回值其实就是R值构成的灰度图像,灰度图像坐标会与原图像对应
#R值就是角点分数,当R值很大的时候就可以认为这个点是一个角点,所以可以通过选取值更大的点,来更精确的检测角点
dst = cv2.cornerHarris(gray, 2, 3, 0.04)
print ('dst.shape:',dst.shape)#dst.shape: (800, 1200)
img[dst>0.01*dst.max()]=[0,0,255]
cv2.imshow('dst',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
来源:CSDN
作者:万能的小黑Alex
链接:https://blog.csdn.net/qq_39507748/article/details/104599817