code: def feature_match(template, image, options=None):
      
      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
docs: 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