cv2角点检测cornerHarris
程序员文章站
2022-06-11 18:08:38
...
本篇博客主要介绍cv2模块中的角点检测。
cv2.cornerHarris(src, blockSize, ksize, k, dst=None, borderType=None)
src:数据类型为 float32 的输入图像
blockSize:角点检测中考虑的区域大小
ksize:Sobel求导中使用的窗口大小
k:Harris 角点检测方程中的*参数,取值参数为 [0.04 0.06]
dst:输出图像
borderType:边界的类型
示例代码:
# encoding:utf-8
import cv2
import numpy as np
filename = '../data/chessboard.png'
img = cv2.imread(filename)
img = cv2.resize(img, (640, 480))
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
# 输入图像必须是float32, 最后一个参数在 0.04 到 0.05 之间
dst = cv2.cornerHarris(gray, 2, 3, 0.04)
cv2.imshow('dst', dst)
dst = cv2.dilate(dst, None)
img[dst > 0.01 * dst.max()] = [0, 0, 255]
cv2.imshow('img', img)
cv2.imshow('dst2', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
测试图片:
结果:
推荐阅读