Harris角点检测实例
本节使用到的图片:
# -*- coding:utf-8 -*-
import cv2
import numpy as np
# Step1. 加载图像、转化为灰度图
img = cv2.imread('images/checkerboard.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = np.float32(gray) # 32位浮点
# Step2. harris角点检测
dst = cv2.cornerHarris(gray, 2, 23, 0.04)
# Step3. 绘制角点
img[dst > 0.01 * dst.max()] = [0, 255, 0]
cv2.imshow('corners', img)
cv2.waitKey(0)
cv2.cornerHarris函数的参数说明:
参数列表:
src:要进行角点检测的源图像
blocksize:对像素p,考查它的blocksize * blocksize内的邻域
ksize:kernel size,限定了Sobel算子中孔aperture的大小,必须是3到31之间的奇数。该参数定义了焦点检测的敏感度,值越小对角点越敏感
k:一个表示权重的参数
运行结果如下:
ksize = 23 时
ksize = 5 时