opencv harris 图像角点检测

opencv harris 图像角点检测

import cv2
import numpy as np

# 读取图像
img = cv2.imread('pic/qipan.jpg')
# 转化为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 检测角点必须保证图像为浮点数据类型
gray = np.float32(gray)

# gray:输入的浮点灰度图
# 2: 检测中考虑的领域大小
# 3:sobel求导中使用的窗口大小
# 0.04: Harris 角点检测方程中的自由参数,取值参数为[0.04, 0.04]
dst = cv2.cornerHarris(gray, 2, 3, 0.04)
# 这里是设定一个阈值 当大于这个阈值分数的都可以判定为角点
img[dst > 0.01*dst.max()] = [0, 0, 255]  # [0, 0, 255]红色

print('摁Esc退出程序')
cv2.imshow('dst', img)
if cv2.waitKey(0) & 0xff == 27:
    cv2.destroyAllWindows()

 

发表回复

您的电子邮箱地址不会被公开。