OpenCV哈里斯(Harris)角点检测的实现

  

        pip安装opencv-python==3.4.2.16      pip安装opencv-contrib-python==3.4.2.16      

<强>

  

<>强克里斯·哈里斯(<强>克里斯·哈里斯)和迈克·史蒂芬斯(Mike Stephens) 在1988年的论文<强>《组合式拐角和边缘检测器》中做了一次尝试找到这些拐角的尝试,所以现在将其称为哈里斯拐角检测器。

  

<强>函数:cv2.cornerHarris() ,<强> cv2.cornerSubPix()

  

示例代码

        进口cv2   进口numpy np      文件名=' molecule.png '   img=cv2.imread(文件名)   灰色=cv2.cvtColor (img cv2.COLOR_BGR2GRAY)      灰色=np.float32(灰色)   dst=cv2.cornerHarris(灰色,2、3、0.04)      #结果是扩张标志着角落,不重要   dst=cv2.dilate (dst,没有)      #阈值的最优值,而异alt=" OpenCV哈里斯(Harris)角点检测的实现">

  

输出图   

 OpenCV哈里斯(Harris)角点检测的实现

  

<强>亚像素精度的角落

        进口cv2   进口numpy np      文件名=' molecule.png '   img=cv2.imread(文件名)   灰色=cv2.cvtColor (img cv2.COLOR_BGR2GRAY)      #发现哈里斯角落   灰色=np.float32(灰色)   dst=cv2.cornerHarris(灰色,2、3、0.04)   dst=cv2.dilate (dst,没有)   ret, dst=cv2.threshold (dst, 0.01 * dst.max(), 255年,0)   dst=np.uint8 (dst)      #找到重心   受潮湿腐烂、标签数据,重心=cv2.connectedComponentsWithStats (dst)      #定义标准停止和细化的角落=(cv2标准。TERM_CRITERIA_EPS + cv2。100年TERM_CRITERIA_MAX_ITER, 0.001)   角落=cv2.cornerSubPix(灰色,np.float32(重心),(5),(1,1),标准)      #现在画   res=np.hstack((质心,角落))   res=np.int0 (res)   img (res (: 1), res [: 0]]=[0, 0255)   img (res (: 3), res[: 2]]=[0] 0255年      cv2.imwrite (subpixel5.png, img)      

输出图   

 OpenCV哈里斯(Harris)角点检测的实现

  

  

https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_features_harris/py_features_harris.html harris-corners   

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

OpenCV哈里斯(Harris)角点检测的实现