我試圖獲取並在圖像中繪製角點。現在,我有一個使用以下格式的元組列表:(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()
工作。這是我做錯的唯一的事情嗎?沒有太多關於這方面的文件。
謝謝!