python opencv3 cornerHarris 角点检测

git:https://github.com/linyi0604/Computer-Vision

 

角点也是处在一个无论框框往哪边移动 框框内像素值都会变化很大的情况而定下来的点

如果框框水平方向上移动 像素值是不会有什么太大的变化的 如果是垂直方向上移动那么就会变化很大 这种一般称为边缘区域

无论是水平 还是垂直的方向移动 都不会对框框内像素造成很大的变化,是内部区域

 1 # coding:utf-8
 2 
 3 import cv2
 4 import numpy as np
 5 
 6 img = cv2.imread("../data/chess1.jpg")
 7 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
 8 gray = np.float32(gray)
 9 # 角点检测
10 dst = cv2.cornerHarris(gray, 2, 23, 0.04)
11 """
12 角点也是处在一个无论框框往哪边移动 框框内像素值都会变化很大的情况而定下来的点
13 cv2.cornerHarris() 
14     img - 数据类型为 float32 的输入图像。
15     blockSize - 角点检测中要考虑的领域大小。
16     ksize - Sobel 求导中使用的窗口大小
17     k - Harris 角点检测方程中的自由参数,取值参数为 [0,04,0.06].
18 """
19 img[dst > 0.01 * dst.max()] = (0, 0, 255)
20 
21 cv2.imshow("corners", img)
22 cv2.waitKey()
23 cv2.destroyAllWindows()

 

 

posted @ 2018-08-06 09:48  稀里糊涂林老冷  阅读(1831)  评论(0编辑  收藏  举报