2016-04-22 18 views
1

我想根據它們的相似性分離圖像。我正在用C++使用OpenCV庫。我嘗試了三種不同的方法,但所有這些方法都容易出現誤報。可有人請我推薦您發現需要推薦使用opencv或任何其他庫的良好圖像相似性匹配算法

方法我都試過是有用的一些其他的方法是:使用使用

cv::EMD(sig1, sig2, CV_DIST_L2) 

compareHist(hist_image1, hist_image2, 0) 
  • EMD方法

    1. 直方圖比較

    2. pHash通過計數比較1,然後將結果轉換爲百分比。

  • +0

    看看[此頁](http://dhanushkadangampola.blogspot.com .tr/2015/01/object-localization-using-color.html)也許有用 – sturkmen

    +1

    這取決於你的意思是「相似」。如果您指的是來自不同角度,尺度等的相同場景/對象的圖像,那麼OpenCV中的2D功能框架可能非常有用。 [Here](http://docs.opencv.org/3.1.0/d9/d97/tutorial_table_of_content_features2d.html#gsc.tab=0)是一些有用的教程。我發現如果性能對你來說不是太重要的話,那麼SIFT的功能會非常好。 – user1337

    回答

    0

    如果要比較兩個圖像,像素到像素之間的差異,你可以使用:

    cv::Mat A,B;  
    double errorL2 = cv::norm(A, B, CV_L2); 
    
    相關問題