def compute_harris_response(image): """ compute the Harris corner detector response function for each pixel in the image""" #derivatives imx, imy = filtertools.gauss_derivatives(image, 3) #kernel for blurring gauss = filtertools.gauss_kernel(3) #compute components of the structure tensor Wxx = signal.convolve(imx*imx, gauss, mode='same') Wxy = signal.convolve(imx*imy, gauss, mode='same') Wyy = signal.convolve(imy*imy, gauss, mode='same') #determinant and trace Wdet = Wxx*Wyy - Wxy**2 Wtr = Wxx + Wyy if numpy.count_nonzero(Wtr) == 0: return print Wtr.shape print numpy.count_nonzero(Wtr) return Wdet / Wtr
def compute_harris_response(image): """ compute the Harris corner detector response function for each pixel in the image""" #derivatives imx,imy = filtertools.gauss_derivatives(image, 3) #kernel for blurring gauss = filtertools.gauss_kernel(3) #compute components of the structure tensor Wxx = signal.convolve(imx*imx,gauss, mode='same') Wxy = signal.convolve(imx*imy,gauss, mode='same') Wyy = signal.convolve(imy*imy,gauss, mode='same') #determinant and trace Wdet = Wxx*Wyy - Wxy**2 Wtr = Wxx + Wyy print (Wdet,Wtr) return Wdet / Wtr
def compute_harris_response(image): """ compute the Harris corner detector response function for each pixel in the image""" #derivatives sobelx=np.array([[-1,0,1],[-2,0,2],[-1,0,1]]) sobely=np.array([[1,2,1],[0,0,0],[-1,-2,-1]]) imx=signal.convolve2d(image,sobelx,boundary='symm', mode='same') imy=signal.convolve2d(image,sobely,boundary='symm', mode='same') #kernel for blurring gauss = gauss_kernel(3) print(gauss) #compute components of the structure tensor Wxx = signal.convolve(imx*imx,gauss, mode='same') Wxy = signal.convolve(imx*imy,gauss, mode='same') Wyy = signal.convolve(imy*imy,gauss, mode='same') #determinant and trace Wdet = Wxx*Wyy - Wxy**2 Wtr = Wxx + Wyy return (Wdet/Wtr)