我正在研究使用openCV改變不同參數對哈里斯角點檢測器的錯誤率的影響。輸入參數是窗口大小,sobel運算符的內核大小和k參數的值。我發現,當我增加窗口大小時,每個角落的響應數量似乎有所增加。例如,如果每個包含一個角的窗口都用一個點標記,那麼當我使用7x7窗口而不是2x2窗口時,在標識的角落周圍出現密度較高的點。更改窗口大小似乎也會增加正確識別的角點數量。窗口大小對openCV中哈里斯角點檢測器的結果有什麼影響
我的編碼如下,這是我從this例如有
import cv2
import numpy as np
filename = 'resized_image.jpg'
img = cv2.imread(filename)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
dst = cv2.cornerHarris(gray,7,3,0.015)
#result is dilated for marking the corners, not important
dst = cv2.dilate(dst,None)
# Threshold for an optimal value, it may vary depending on the image.
img[dst>0.05*dst.max()]=[0,0,255]
cv2.imwrite('corners3.jpg', img)
cv2.imshow('dst',img)
if cv2.waitKey(0) & 0xff == 27:
cv2.destroyAllWindows()
可能有人請解釋對Harris角點檢測的結果增加了窗口大小的影響。具體爲什麼每個角落的響應數量隨着窗口大小的增加而增加。我的理解是,這個函數計算窗口梯度,並使用sobel運算符執行一些平滑處理,如果這對結果有影響的話。對不起,如果這是一個明顯的問題,但我只是新的計算機視覺。
這是奇怪的...你能請出示你的代碼的相關部分? – sansuiso