【问题标题】:How to decrease number of points detected by Harris Corner Detector?如何减少 Harris Corner Detector 检测到的点数?
【发布时间】:2020-10-31 06:57:27
【问题描述】:

我正在使用 Harris Corner Detector 进行特征检测。我正在使用的代码如下所示。结果是检测到超过 10000 个关键点。如何将检测到的关键点数量减少到 1000 个左右并确保其精确?


import numpy as np
import cv2 as cv
img = cv.imread('img.jpg')

half = cv.resize(img, (1200, 800), fx=0.1, fy=0.1)

gray = cv.cvtColor(half, cv.COLOR_BGR2GRAY)

gray = np.float32(gray)
dst = cv.cornerHarris(gray, 2, 3, 0.20)

dst = cv.dilate(dst, None)

half[dst > 0.01 * dst.max()] = [0, 0, 255]

num_corners = np.sum(dst > 0.01 * dst.max())

print(num_corners)

cv.imshow('dst', half)

cv.waitKey(0)
cv.destroyAllWindows()

【问题讨论】:

标签: python opencv feature-extraction feature-detection corner-detection


【解决方案1】:

在以下代码行中使用值“0.01”。增加它以减少检测到的角点数。

half[dst > 0.01 * dst.max()] = [0, 0, 255]

num_corners = np.sum(dst > 0.01 * dst.max())

Information about Harris Corner Detection is available here.

【讨论】:

    猜你喜欢
    • 2012-11-16
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 2018-10-22
    相关资源
    最近更新 更多