【发布时间】:2020-10-14 18:35:28
【问题描述】:
import numpy as np
import cv2 as cv
img = cv.imread('maple.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.08)
dst = cv.dilate(dst, None)
half[dst > 0.01 * dst.max()] = [0, 0, 255]
cv.imshow('dst', half)
cv.waitKey(0)
cv.destroyAllWindows()
我需要计算这段代码检测到的特征数量。这些特征在图像中显示为红点。我对 python 和 OpenCV 非常陌生。我不知道如何在这段代码中实现计数器。
【问题讨论】:
-
嘿。您可能想看看 'approxPolyDP' 函数。
-
所以我不会直接在程序中实现一个计数器变量,而是使用这个函数来计算结果图像中的红点,对吧?
-
有多种方法可以解决问题。您可以实现自己的计数 sn-p 但通常最好使用提供功能的内置工具和库,而不是自己重新发明轮子。这是一个安全的选择,因为内部工具更加优化。
-
我还是个初学者,所以使用这个功能对我来说有点困难。我不知道从哪里开始。
-
如果您认为可以解决您的疑问,不妨接受答案。
标签: python opencv feature-extraction feature-detection