#AndroidStudioで筆跡鑑定を行いたい
Javaを使用してAndroidStudioで筆跡鑑定を行いたいです。筆跡鑑定のためには画像認識が必要だと思うのでOpenCVを取り入れようかと考えています。そこでOpenCVの特徴点抽出かテンプレートマッチングかLBPによるヒストグラムの比較などで実現出来るのではと思うのですがいかんせん右も左もわからないずぶの素人なので、どんなソースなのかが分かりません。ですのでAndroidStudioで実行できる筆跡鑑定のソースプログラムを教えてください。
なければ筆跡鑑定に応用できそうな先述した3つの機能のソースが知りたいです。
#試してみたソース
Java
1package def; 2 3import java.util.ArrayList; 4import java.util.List; 5 6import org.opencv.core.Core; 7import org.opencv.core.Mat; 8import org.opencv.core.MatOfFloat; 9import org.opencv.core.MatOfInt; 10import org.opencv.imgcodecs.Imgcodecs; 11import org.opencv.imgproc.Imgproc; 12 13public class ImageComparison { 14 public static void main(String[] args) { 15 System.out.println("処理開始"); 16 System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 17 new Demo().run(); 18 19 System.out.println("処理終了"); 20 } 21} 22 23class Demo { 24 public void run() { 25 List<Double> histList = new ArrayList<Double>(); 26 27 System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 28 Mat image[] = new Mat[2]; 29 image[0] = Imgcodecs.imread("F:\yamauchi\opencv-IC\source\name1.png"); 30 image[1] = Imgcodecs.imread("F:\yamauchi\opencv-IC\source\name2.png"); 31 Mat hist1 = new Mat(); 32 33 Imgproc.cvtColor(image[0], image[0], Imgproc.COLOR_RGB2GRAY); // 逕サ蜒上・繧ー繝ャ繝シ繧ケ繧ア繝シ繝ォ螟画鋤 34 Imgproc.cvtColor(image[1], image[1], Imgproc.COLOR_RGB2GRAY); 35 36 List<Mat> src1 = new ArrayList<Mat>(); 37 src1.add(image[0]); 38 39 Imgproc.calcHist(src1, new MatOfInt(0), new Mat(), hist1, new MatOfInt(256), new MatOfFloat(0, 64)); 40 41 Mat hist2 = new Mat(); 42 List<Mat> src2 = new ArrayList<Mat>(); 43 src2.add(image[1]); 44 45 Imgproc.calcHist(src2, new MatOfInt(0), new Mat(), hist2, new MatOfInt(256), new MatOfFloat(0, 64)); 46 47 histList.add(Imgproc.compareHist(hist1, hist2, 0)); 48 49 Imgcodecs.imwrite("source/test.png", image[0]); 50 System.out.println(image[0]); 51 System.out.println(image[1]); 52 System.out.println(histList); 53 } 54 55 56}
上記のソースはEclipseでOpenCVを使う時に記述したものですが上記のプログラムでは同一人物が書こうが別人が書こうが違う文字を書こうがヒストグラム値が0.99を超えるという結果が出てしまいました。(1に近いほど文字が似ている)
あなたの回答
tips
プレビュー