原标题:Python OpenCV教程:使用 CornerHarris 算法实现角点检测
在这篇Python OpenCV文章中,我将向您展示如何使用CornerHarris在OpenCV中检测角落。基本上在本文中,我们使用的是CornerHarris算法。
以下是如何用CornerHarris在OpenCV中检测角点的完整代码
importcv2
importnumpy asnp
img = cv2.imread( 'www.linuxmi.com.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
dst = cv2.cornerHarris(gray, 2, 3, 0.04)
img[dst> 0.01* dst.max] = [ 0, 0, 255]
cv2.imshow( "HarrisCorner Detection", img)
cv2.waitKey
cv2.destroyAllWindows
在本文中,我使用这个图像
在这段代码中,首先我们已经加载了图像,也对图像进行了转换,确保你已经将图像添加到你的工作目录中。
img = cv2.imread('www.linuxmi.com.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
这就是我们的CornerHarris算法
为此,OpenCV使用了函数cv2.cornerHarris。参数如下:
img - 数据类型为 float32 的输入图像。
blockSize - 角点检测中要考虑的领域大小。
ksize - Sobel 求导中使用的窗口大小
k - Harris 角点检测方程中的自由参数,取值参数为 [0,04,0.06]
dst = cv2.cornerHarris(gray, 2, 3, 0.04)
现在运行完整的代码,结果如下:
责任编辑: