Java(Eclipse) + OpenCV3.2.0 でSURFとかSIFTを使っての特徴点検出(Mac)

Java(Eclipse) + OpenCV3.2.0 でSURFとかSIFTを使っての特徴点検出(Mac)

前回でJava+OpenCV3.2.0でSURFやSIFTを使うための環境構築をしました.
で,今回は,構築した環境を使って,実際に特徴点検出をしてみます.
最終的にはカメラからの入力映像での検出をしたいのですが,まずは,画像同士での検出から.
 
ソースは,ほぼコチラを参考に,OpenCV3系に対応させるよう少し変更してあります.
 
変更点は,
import org.opencv.highgui.Highgui; を削除し,
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc; の2行を追加.
3系から,highgui は,imgcodecs と imgproc に分かれたようです.
 
比較用の画像は,Workspaceの下にあるプロジェクトフォルダの下へ,resourcesなどの名前でフォルダを作り,その下に入れます.
 
 
コード
 

 
 
結果画像
 
SIFT

 
SURF

こうしてみると,今回選んだ画像では,SURFの方が特徴点自体の検出は多くしていますが,SIFTのほうが正しく認識しているようです.このあたり,何かしきい値を変更したり,画像によって得意不得意がありそうです.