1、Harris角点检测
如果像素周围显示存在多于一个方向的边,我们就认为该点为兴趣点,即角点。
compute_harris_response函数是在在一幅灰度图像中,对每个像素计算harris角点检测器响应函数,返回像数值为Harris响应值的一幅图像。
get_harris_points是从一幅harris响应图像中返回角点。mid-dist为分割角点和图像边界的最少像素数目。我们获取所有的候选像素点,以角点响应值递减的顺序排序,然后将距离已标记为角点位置过近的区域从候选像素点中删除。
主代码
from PIL import Image
from numpy import *
import harris
from pylab import *
im=array(Image.open('shangda.jpg').convert('L'))
harrisim=harris.compute_harris_response(im,3)
#阈值为0.2
filtered_coords1=harris.get_harris_points(harrisim,0.2,6)
harris.plot_harris_points(im,filtered_coords1)
下图是对学校尚大楼进行的角点检测
2、Harris特征匹配
get_descriptors函数将图像块像素值压平成一个向量,然后添加到描述子列表中。
match函数使用归一化的互相关矩阵,将每个描述子匹配到另一个图像中的最优的候选点。
m