当前位置: 代码迷 >> 综合 >> Shi-Tomasi Corner Detect
  详细解决方案

Shi-Tomasi Corner Detect

热度:93   发布时间:2023-12-01 02:32:46.0

Harries Corner Detector 请看:https://mp.csdn.net/postedit/88410331

我们知道Harris Corner Detecor角点得分函数为:

而Shi-Tomasi的角点得分函数为:

如果R大于某个设定的阈值,则此处被认为是一个角点。

OpenCV中Shi-Tomasi Corner Detector函数--cv2.goodFeaturesToTrask()。它将在图像中由Shi-Tomasi Detector找到n个最强的corner(或者指定Harris Corner Detection),通常,图像应该是一幅灰度图,并且你需要指定想要寻找的corners的数量,指定质量级别quality-level,其值为0-1之间,这表示角点的最小质量,低于该值的Corners都将被拒绝。然后提供检测到的corners的最小欧式距离。注:所以低于quality-level的corner都将被丢弃,将剩余的corners基于quality-level降序的方式排列,然后函数取第一个最强壮的角,在最小距离范围内丢弃所有邻近的角,返回N个最强壮的角。

OpenCV  Code:

import numpy as np
import cv2image = cv2.imread('../image/001.png')
image_yuan_gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
corners = cv2.goodFeaturesToTrack(image_yuan_gray,25,0.01,5)
corners = np.int0(corners)for i in corners:x,y = i.ravel()cv2.circle(image,(x,y),3,255,-1)cv2.imshow('image_yuan_gray', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

结果:

 

  相关解决方案