def precornerdetect(image): # assume that the image is floating-point corners = cv.CloneMat(image) cv.PreCornerDetect(image, corners, 3) dilated_corners = cv.CloneMat(image) cv.Dilate(corners, dilated_corners, None, 1) corner_mask = cv.CreateMat(image.rows, image.cols, cv.CV_8UC1) cv.Sub(corners, dilated_corners, corners) cv.CmpS(corners, 0, corner_mask, cv.CV_CMP_GE) return (corners, corner_mask)
py_img = 255 * (py_img / np.max(py_img)) img = cv.fromarray(py_img.astype(np.uint8)) rgb_img = cv.CreateImage((img.cols, img.rows), 8, 4) """Creating RGB img""" img_r = cv.CloneMat(img) img_g = cv.CreateImage((img.cols, img.rows), 8, 1) img_b = cv.CreateImage((img.cols, img.rows), 8, 1) img_a = cv.CreateImage((img.cols, img.rows), 8, 1) cv.Set(img_g, 10) cv.Set(img_b, 100) cv.Set(img_a, 100) cv.Merge(img_b, img_g, img_r, img_a, rgb_img) """Precorner detect""" corners = cv.CreateMat(float_img.rows, float_img.cols, float_img.type) cv.PreCornerDetect(float_img, corners, 3) """Canny""" edges = cv.CreateImage((img.cols, img.rows), 8, 1) print img.rows, img.cols, edges.height cv.Canny(img, edges, 20.0, 160.0) disp2 = edges """Good features to track""" eig_image = cv.CreateMat(img.rows, img.cols, cv.CV_32FC1) temp_image = cv.CreateMat(img.rows, img.cols, cv.CV_32FC1) features_x_y_vector = cv.GoodFeaturesToTrack(img, eig_image, temp_image, 10, 0.002, 1.0, useHarris=True)