質問編集履歴

4

質問内容を復元しました。

2017/11/16 07:57

投稿

aiueoaiueoaiue
aiueoaiueoaiue

スコア94

test CHANGED
@@ -1 +1 @@
1
- すみません。削除していただく方向で
1
+ AndroidStudioで筆跡鑑定を行いた
test CHANGED
@@ -1 +1,125 @@
1
- 出過ぎたまね。どうも初心者の状態からは難しすぎるとおもました。
1
+ #AndroidStudio筆跡鑑定を行いたい
2
+
3
+ Javaを使用してAndroidStudioで筆跡鑑定を行いたいです。筆跡鑑定のためには画像認識が必要だと思うのでOpenCVを取り入れようかと考えています。そこでOpenCVの特徴点抽出かテンプレートマッチングかLBPによるヒストグラムの比較などで実現出来るのではと思うのですがいかんせん右も左もわからないずぶの素人なので、どんなソースなのかが分かりません。ですのでAndroidStudioで実行できる筆跡鑑定のソースプログラムを教えてください。
4
+
5
+ なければ筆跡鑑定に応用できそうな先述した3つの機能のソースが知りたいです。
6
+
7
+ #試してみたソース
8
+
9
+ ```Java
10
+
11
+ package def;
12
+
13
+
14
+
15
+ import java.util.ArrayList;
16
+
17
+ import java.util.List;
18
+
19
+
20
+
21
+ import org.opencv.core.Core;
22
+
23
+ import org.opencv.core.Mat;
24
+
25
+ import org.opencv.core.MatOfFloat;
26
+
27
+ import org.opencv.core.MatOfInt;
28
+
29
+ import org.opencv.imgcodecs.Imgcodecs;
30
+
31
+ import org.opencv.imgproc.Imgproc;
32
+
33
+
34
+
35
+ public class ImageComparison {
36
+
37
+ public static void main(String[] args) {
38
+
39
+ System.out.println("処理開始");
40
+
41
+ System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
42
+
43
+ new Demo().run();
44
+
45
+
46
+
47
+ System.out.println("処理終了");
48
+
49
+ }
50
+
51
+ }
52
+
53
+
54
+
55
+ class Demo {
56
+
57
+ public void run() {
58
+
59
+ List<Double> histList = new ArrayList<Double>();
60
+
61
+
62
+
63
+ System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
64
+
65
+ Mat image[] = new Mat[2];
66
+
67
+ image[0] = Imgcodecs.imread("F:\yamauchi\opencv-IC\source\name1.png");
68
+
69
+ image[1] = Imgcodecs.imread("F:\yamauchi\opencv-IC\source\name2.png");
70
+
71
+ Mat hist1 = new Mat();
72
+
73
+
74
+
75
+ Imgproc.cvtColor(image[0], image[0], Imgproc.COLOR_RGB2GRAY); // 逕サ蜒上・繧ー繝ャ繝シ繧ケ繧ア繝シ繝ォ螟画鋤
76
+
77
+ Imgproc.cvtColor(image[1], image[1], Imgproc.COLOR_RGB2GRAY);
78
+
79
+
80
+
81
+ List<Mat> src1 = new ArrayList<Mat>();
82
+
83
+ src1.add(image[0]);
84
+
85
+
86
+
87
+ Imgproc.calcHist(src1, new MatOfInt(0), new Mat(), hist1, new MatOfInt(256), new MatOfFloat(0, 64));
88
+
89
+
90
+
91
+ Mat hist2 = new Mat();
92
+
93
+ List<Mat> src2 = new ArrayList<Mat>();
94
+
95
+ src2.add(image[1]);
96
+
97
+
98
+
99
+ Imgproc.calcHist(src2, new MatOfInt(0), new Mat(), hist2, new MatOfInt(256), new MatOfFloat(0, 64));
100
+
101
+
102
+
103
+ histList.add(Imgproc.compareHist(hist1, hist2, 0));
104
+
105
+
106
+
107
+ Imgcodecs.imwrite("source/test.png", image[0]);
108
+
109
+ System.out.println(image[0]);
110
+
111
+ System.out.println(image[1]);
112
+
113
+ System.out.println(histList);
114
+
115
+ }
116
+
117
+
118
+
119
+
120
+
121
+ }
122
+
123
+ ```
124
+
125
+ 上記のソースはEclipseでOpenCVを使う時に記述したものですが上記のプログラムでは同一人物が書こうが別人が書こうが違う文字を書こうがヒストグラム値が0.99を超えるという結果が出てしまいました。(1に近いほど文字が似ている)

3

修正

2017/11/16 07:57

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1 +1 @@
1
- 出過ぎたまねでした。どうも初心者の状態から筆跡鑑定は難しすぎるとおもいました。
1
+ 出過ぎたまねでした。どうも初心者の状態からは難しすぎるとおもいました。

2

2017/11/15 01:07

投稿

aiueoaiueoaiue
aiueoaiueoaiue

スコア94

test CHANGED
@@ -1 +1 @@
1
- AndroidStudioで筆跡鑑定を行いた
1
+ すみません。削除していただく方向で
test CHANGED
@@ -1,125 +1 @@
1
- #AndroidStudioで筆跡鑑定を行いた
2
-
3
- Javaを使用してAndroidStudioで筆跡鑑定を行いたいです。筆跡鑑定のためには画像認識が必要だと思うのでOpenCVを取り入れようかと考えています。そこでOpenCVの特徴点抽出かテンプレートマッチングかLBPによるヒストグラムの比較などで実現出来るのではと思うのですがいかんせん右も左もわからないずぶの素人なので、どんなソースなのかが分かりません。ですのでAndroidStudioで実行できる筆跡鑑定のソースプログラムを教えてください。
4
-
5
- なければ筆跡鑑定に応用できそうな先述した3つの機能のソースが知りたいです。
6
-
7
- #試してみたソース
8
-
9
- ```Java
10
-
11
- package def;
12
-
13
-
14
-
15
- import java.util.ArrayList;
16
-
17
- import java.util.List;
18
-
19
-
20
-
21
- import org.opencv.core.Core;
22
-
23
- import org.opencv.core.Mat;
24
-
25
- import org.opencv.core.MatOfFloat;
26
-
27
- import org.opencv.core.MatOfInt;
28
-
29
- import org.opencv.imgcodecs.Imgcodecs;
30
-
31
- import org.opencv.imgproc.Imgproc;
32
-
33
-
34
-
35
- public class ImageComparison {
36
-
37
- public static void main(String[] args) {
38
-
39
- System.out.println("処理開始");
40
-
41
- System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
42
-
43
- new Demo().run();
44
-
45
-
46
-
47
- System.out.println("処理終了");
48
-
49
- }
50
-
51
- }
52
-
53
-
54
-
55
- class Demo {
56
-
57
- public void run() {
58
-
59
- List<Double> histList = new ArrayList<Double>();
60
-
61
-
62
-
63
- System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
64
-
65
- Mat image[] = new Mat[2];
66
-
67
- image[0] = Imgcodecs.imread("F:\yamauchi\opencv-IC\source\name1.png");
68
-
69
- image[1] = Imgcodecs.imread("F:\yamauchi\opencv-IC\source\name2.png");
70
-
71
- Mat hist1 = new Mat();
72
-
73
-
74
-
75
- Imgproc.cvtColor(image[0], image[0], Imgproc.COLOR_RGB2GRAY); // 逕サ蜒上・繧ー繝ャ繝シ繧ケ繧ア繝シ繝ォ螟画鋤
76
-
77
- Imgproc.cvtColor(image[1], image[1], Imgproc.COLOR_RGB2GRAY);
78
-
79
-
80
-
81
- List<Mat> src1 = new ArrayList<Mat>();
82
-
83
- src1.add(image[0]);
84
-
85
-
86
-
87
- Imgproc.calcHist(src1, new MatOfInt(0), new Mat(), hist1, new MatOfInt(256), new MatOfFloat(0, 64));
88
-
89
-
90
-
91
- Mat hist2 = new Mat();
92
-
93
- List<Mat> src2 = new ArrayList<Mat>();
94
-
95
- src2.add(image[1]);
96
-
97
-
98
-
99
- Imgproc.calcHist(src2, new MatOfInt(0), new Mat(), hist2, new MatOfInt(256), new MatOfFloat(0, 64));
100
-
101
-
102
-
103
- histList.add(Imgproc.compareHist(hist1, hist2, 0));
104
-
105
-
106
-
107
- Imgcodecs.imwrite("source/test.png", image[0]);
108
-
109
- System.out.println(image[0]);
110
-
111
- System.out.println(image[1]);
112
-
113
- System.out.println(histList);
114
-
115
- }
116
-
117
-
118
-
119
-
120
-
121
- }
122
-
123
- ```
124
-
125
- 上記のソースはEclipseでOpenCVを使う時に記述したものですが上記のプログラムでは同一人物が書こうが別人が書こうが違う文字を書こうがヒストグラム値が0.99を超えるという結果が出てしまいました。(1に近いほど文字が似ている)
1
+ 出過ぎたまねした。どうも初心者の状態から筆跡鑑定は難しすぎるとおもまし

1

ソース追加

2017/11/14 07:12

投稿

aiueoaiueoaiue
aiueoaiueoaiue

スコア94

test CHANGED
File without changes
test CHANGED
@@ -3,3 +3,123 @@
3
3
  Javaを使用してAndroidStudioで筆跡鑑定を行いたいです。筆跡鑑定のためには画像認識が必要だと思うのでOpenCVを取り入れようかと考えています。そこでOpenCVの特徴点抽出かテンプレートマッチングかLBPによるヒストグラムの比較などで実現出来るのではと思うのですがいかんせん右も左もわからないずぶの素人なので、どんなソースなのかが分かりません。ですのでAndroidStudioで実行できる筆跡鑑定のソースプログラムを教えてください。
4
4
 
5
5
  なければ筆跡鑑定に応用できそうな先述した3つの機能のソースが知りたいです。
6
+
7
+ #試してみたソース
8
+
9
+ ```Java
10
+
11
+ package def;
12
+
13
+
14
+
15
+ import java.util.ArrayList;
16
+
17
+ import java.util.List;
18
+
19
+
20
+
21
+ import org.opencv.core.Core;
22
+
23
+ import org.opencv.core.Mat;
24
+
25
+ import org.opencv.core.MatOfFloat;
26
+
27
+ import org.opencv.core.MatOfInt;
28
+
29
+ import org.opencv.imgcodecs.Imgcodecs;
30
+
31
+ import org.opencv.imgproc.Imgproc;
32
+
33
+
34
+
35
+ public class ImageComparison {
36
+
37
+ public static void main(String[] args) {
38
+
39
+ System.out.println("処理開始");
40
+
41
+ System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
42
+
43
+ new Demo().run();
44
+
45
+
46
+
47
+ System.out.println("処理終了");
48
+
49
+ }
50
+
51
+ }
52
+
53
+
54
+
55
+ class Demo {
56
+
57
+ public void run() {
58
+
59
+ List<Double> histList = new ArrayList<Double>();
60
+
61
+
62
+
63
+ System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
64
+
65
+ Mat image[] = new Mat[2];
66
+
67
+ image[0] = Imgcodecs.imread("F:\yamauchi\opencv-IC\source\name1.png");
68
+
69
+ image[1] = Imgcodecs.imread("F:\yamauchi\opencv-IC\source\name2.png");
70
+
71
+ Mat hist1 = new Mat();
72
+
73
+
74
+
75
+ Imgproc.cvtColor(image[0], image[0], Imgproc.COLOR_RGB2GRAY); // 逕サ蜒上・繧ー繝ャ繝シ繧ケ繧ア繝シ繝ォ螟画鋤
76
+
77
+ Imgproc.cvtColor(image[1], image[1], Imgproc.COLOR_RGB2GRAY);
78
+
79
+
80
+
81
+ List<Mat> src1 = new ArrayList<Mat>();
82
+
83
+ src1.add(image[0]);
84
+
85
+
86
+
87
+ Imgproc.calcHist(src1, new MatOfInt(0), new Mat(), hist1, new MatOfInt(256), new MatOfFloat(0, 64));
88
+
89
+
90
+
91
+ Mat hist2 = new Mat();
92
+
93
+ List<Mat> src2 = new ArrayList<Mat>();
94
+
95
+ src2.add(image[1]);
96
+
97
+
98
+
99
+ Imgproc.calcHist(src2, new MatOfInt(0), new Mat(), hist2, new MatOfInt(256), new MatOfFloat(0, 64));
100
+
101
+
102
+
103
+ histList.add(Imgproc.compareHist(hist1, hist2, 0));
104
+
105
+
106
+
107
+ Imgcodecs.imwrite("source/test.png", image[0]);
108
+
109
+ System.out.println(image[0]);
110
+
111
+ System.out.println(image[1]);
112
+
113
+ System.out.println(histList);
114
+
115
+ }
116
+
117
+
118
+
119
+
120
+
121
+ }
122
+
123
+ ```
124
+
125
+ 上記のソースはEclipseでOpenCVを使う時に記述したものですが上記のプログラムでは同一人物が書こうが別人が書こうが違う文字を書こうがヒストグラム値が0.99を超えるという結果が出てしまいました。(1に近いほど文字が似ている)