OpenCV|图像特征-harris角点检测

2023-12-13 21:38:46

cv2.cornerHarris()

  • img:数据类型为float32的输入图像
  • blockSize: 角点检测中指定区域的大小
  • ksize: sobel求导中使用的窗口大小
  • k:取值参数为[0.04,0.06]

chessboard.jpg

import cv2
import numpy as np
img = cv2.imread('chessboard.jpg')
print('img.shape',img.shape)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#gray = np.float32(gray)
dst = cv2.cornerHarris(gray,2,3,0.04)
print('dest.shape:',dst.shape)

输出结果:

img.shape (512, 512, 3)
dest.shape: (512, 512)
img[dst>0.01*dst.max()]=[0,0,255]
cv2.imshow('dst',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:

ps:如果想改变检测角点范围的大小,可以改变参数0.01,变大则会检测的点会少。

文章来源:https://blog.csdn.net/m0_62976848/article/details/134909820
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。