2016-04-22 11 views
1

私は類似性に基づいて画像を分離しようとしています。私はC++でOpenCVライブラリを使用しています。私は3つの異なる方法を試しましたが、それらのすべてが偽陽性になりがちです。誰かが私にあなたは私が試してみましたopencvやその他のライブラリを使用した画像の類似性マッチングアルゴリズムをお勧めします。

方法に有用であることが判明している他のいくつかの方法をお勧めしてくださいすることができます:

cv::EMD(sig1, sig2, CV_DIST_L2) 
を使用して

compareHist(hist_image1, hist_image2, 0) 
  • EMD法を用いた

    1. ヒストグラム比較

    2. pHashの数を数えて比較すると結果をパーセンテージに変換します。

  • +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

    あなたは2つの画像のピクセルのピクセル間の差を比較したい場合は、あなたが使用することができます。

    cv::Mat A,B;  
    double errorL2 = cv::norm(A, B, CV_L2); 
    
    関連する問題