R - 计算机视觉图像匹配 - SURF描述符的最近邻

时间:2017-11-30 11:55:49

标签: r computer-vision k-means image-recognition surf

我正在使用https://github.com/bnosac/image 和用于图像匹配的image.dlib包。 我试图使用SURF匹配两个对象的相似性。也成功获得了特征向量。 但是在最近邻居比较(rflann包)中,我得到了不同的结果。 我总结了abs的距离并进行比较吗? 此外,我为每个图像获得了不同数量的冲浪点(64列是恒定的)

附有参考图像和候选图像。 参考应该理想地与c1匹配。这是我的尝试。

 library(image.dlib)
    f <- "D:\\<path to my ref image>\\ref.bmp"
    f1 <- "D:\\<path to my candidate images>\\c1.bmp"
    f2 <- "D:\\<path to my candidate images>\\c2.bmp"
    f3 <-"D:\\<path to my candidate images>\\c3.bmp"

    surf_blobs <- image_surf(f, max_points = 1000, detection_threshold = 30)

    surf_blobs1 <- image_surf(f1, max_points = 1000, detection_threshold = 30)
    surf_blobs2 <- image_surf(f2, max_points = 1000, detection_threshold = 30)
    surf_blobs3 <- image_surf(f3, max_points = 1000, detection_threshold = 30)


    library(rflann)

    kn1 <- rflann::Neighbour(as.matrix(surf_blobs1$surf),as.matrix(surf_blobs$surf),k = 10, build = "kmeans")
    s1 <- sum(abs(kn1$distances))


    kn2 <- rflann::Neighbour(as.matrix(surf_blobs2$surf),as.matrix(surf_blobs$surf),k = 10, build = "kmeans")
    s2 <- sum(abs(kn2$distances))


    kn3 <- rflann::Neighbour(as.matrix(surf_blobs3$surf),as.matrix(surf_blobs$surf),k = 10, build = "kmeans")
    s3 <- sum(abs(kn3$distances))

参考图片

Reference image 1

候选图像

Candidate image 1

Candidate image 2

Candidate image 3

链接如下 参考图片

https://i.imgur.com/jvHcA9c.png

候选图像

候选图片1:https://image.ibb.co/jL6xNw/c1.png

候选图像2:https://image.ibb.co/khhF9b/c2.png

候选人图片3:https://image.ibb.co/bNTYvG/c3.png

测试稳健性的其他候选人:

https://image.ibb.co/mHqyfG/c2.jpg https://image.ibb.co/de0W0G/c3.jpg

0 个答案:

没有答案