利用python学习OpenCV,个人感觉比较方便。函数的形式与C++基本相同,所以切换过来还是比较好的,对于像我这种对python不太熟练的人,使用python的集成开发环境PyCharm进行学习,可以设置断点调试,有助于我这类初学者理解掌握。
下面是利用python语言结合OpenCV进行Harris角点检测的代码:
# -*- coding:utf-8 -*-
__author__ = 'Microcosm'
import cv2
import numpy as np
img = cv2.imread("E:\python\Python Project\opencv_showimage\images\cheef.jpg")
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
dst = cv2.cornerHarris(gray,2,3,0.05)
# dst = cv2.dilate(dst,None)
img[dst>0.015*dst.max()] = [0,0,255]
cv2.imshow("harris_points", img)
if cv2.waitKey(0) & 0xff == 27:
cv2.destroyAllWindows()
运行结果为: