Recognizing an image from a list with OpenCV SIFT using the FLANN matching

前端 未结 2 842
耶瑟儿~
耶瑟儿~ 2021-02-01 10:46

The point of the application is to recognize an image from an already set list of images. The list of images have had their SIFT descriptors extracted and saved in files. Nothin

2条回答
  •  醉梦人生
    2021-02-01 11:29

    You are going correct way.

    First, use second nearest ratio isntead of your "good match by 2*min_dist" https://stackoverflow.com/a/23019889/1983544.

    Second, use homography other way. When you find homography, you have not only H ,matrix, but the number of correspondences consistent with it. Check if it is some reasonable number, say >=15. If less, than object is not matched.

    Third, if you have a big viewpoint change, SIFT or SURF are unable to match images. Try to use MODS instead (http://cmp.felk.cvut.cz/wbs/ here is Windows and Linux binaries, as well as paper describing algorithm) or ASIFT (much slower and matches much worse, but open source) http://www.ipol.im/pub/art/2011/my-asift/

    Or at least use MSER or Hessian-Affine detector instead of SIFT (retaining SIFT as descriptor).

提交回复
热议问题