小编Yad*_*u B的帖子

opencv中的角点检测

我试图使用 opencv(python) 中的哈里斯角点检测来检测图像中的所有角点。但由于线的粗细,我在一个角上得到了多个角。我能做些什么来纠正这个问题吗?

代码

import numpy as np
import cv2 as cv
filename = 'Triangle.jpg'
img = cv.imread(filename)
gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
gray = np.float32(gray)
dst = cv.cornerHarris(gray,2,3,0.04)
#result is dilated for marking the corners, not important
dst = cv.dilate(dst,None)
# Threshold for an optimal value, it may vary depending on the image.
img[dst>0.01*dst.max()]=[0,0,255]
cv.imshow('dst',img)
if cv.waitKey(0) & 0xff == 27:
    cv.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

这是输入图像

输出图像(我得到的)

python opencv image-processing computer-vision corner-detection

5
推荐指数
1
解决办法
1443
查看次数