Match template and image by extracting specified feature

    :param template: Template image
    :param image: Search image
    :param options: Options include
        - feature: Feature extractor to use. Default is 'rgb'. Available options are:
            'hog', 'lab', 'rgb', 'gray'
    :return: Heatmap

def feature_match(template, image, options=None):
    """
    Match template and image by extracting specified feature

    :param template: Template image
    :param image: Search image
    :param options: Options include
        - feature: Feature extractor to use. Default is 'rgb'. Available options are:
            'hog', 'lab', 'rgb', 'gray'
    :return: Heatmap
    """
    op = _DEF_TM_OPT.copy()
    if options is not None:
        op.update(options)

    feat = fe.factory(op['feature'])
    tmpl_f = feat(template, op)
    img_f = feat(image, op)

    scale = image.shape[0] / img_f.shape[0]
    heatmap = match_template(tmpl_f, img_f, op)
    return heatmap, scale