我试图获取并在图像中绘制角点。现在,我有一个使用以下格式的元组列表:(row,column,scale)
(规模是因为我使用的是高斯金字塔),它是从harrisCornerDetector和nonMaximumSupression过程手动获得的。该列表是featuresy1
。如何在Python中使用OpenCV cornerSubPix()?
我的代码如下:
r,g,b=cv2.split(image)
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)
cv2.cornerSubPix(r, featuresy1, (5,5), (-1,1), criteria)
其中图像是在灰度与三个相同形状的图像。正如你所看到的,我给cornerSubPix
作为第二个参数是这样的结构:[(x1,y1,scale1),(x2,y2,scale2),...,(xn,yn,scalen)]
。
这是抛出了以下错误:
cv2.cornerSubPix(r, featuresy1, (5,5), (-1,1), criteria)
TypeError: corners is not a numpy array, neither a scalar
出于这个原因,我不知道是什么类型,格式或结构应具有featuresy1
做cornerSubPix()
工作。这是我做错的唯一的事情吗?没有太多关于这方面的文件。
谢谢!