質問編集履歴
1
ソースコードを見直したらエラーコードが変わったので変更しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,13 +4,12 @@
|
|
4
4
|
|
5
5
|
### 発生している問題・エラーメッセージ
|
6
6
|
コンパイルは通りますが、実行時にエラーが出ます。「~~Error:」の後に具体的なことが書かれてない(他の例では○○がないよ!とかが英語で書かれている)ので理解ができません。
|
7
|
-
|
7
|
+
おそらく「fourcc」関連のことだと思って、いろいろなコーデックを試してみましたが、さっぱりです
|
8
8
|
```
|
9
|
-
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.videoio.VideoWriter.
|
9
|
+
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.videoio.VideoWriter.fourcc_0(CCCC)I
|
10
|
-
|
10
|
+
at org.opencv.videoio.VideoWriter.fourcc_0(Native Method)
|
11
|
-
|
11
|
+
at org.opencv.videoio.VideoWriter.fourcc(VideoWriter.java:348)
|
12
|
-
at MkMovie.<init>(MkMovie.java:12)
|
13
|
-
|
12
|
+
at MkMovie.main(MkMovie.java:36)
|
14
13
|
```
|
15
14
|
|
16
15
|
### 該当のソースコード
|
@@ -22,41 +21,50 @@
|
|
22
21
|
|
23
22
|
import org.opencv.core.*;
|
24
23
|
import org.opencv.imgcodecs.*;
|
24
|
+
import org.opencv.videoio.VideoWriter;
|
25
|
-
import org.opencv.videoio.
|
25
|
+
import org.opencv.videoio.Videoio;
|
26
26
|
|
27
27
|
public class MkMovie{
|
28
|
-
|
28
|
+
Mat takedImage;
|
29
|
+
|
30
|
+
public void nanika(String image){
|
31
|
+
//try {
|
29
|
-
|
32
|
+
takedImage = Imgcodecs.imread(image);
|
30
|
-
|
33
|
+
//}catch(IOException e){
|
34
|
+
//}
|
35
|
+
}
|
31
36
|
|
32
|
-
|
37
|
+
public void nanika2(String time, VideoWriter Mov){
|
33
|
-
//try {
|
34
|
-
|
38
|
+
int totalFrame = Integer.valueOf(time)*30;
|
35
|
-
//}catch(IOException e){
|
36
|
-
//}
|
37
|
-
}
|
38
39
|
|
39
|
-
public void nanika2(String time){
|
40
|
-
int totalFrame = Integer.valueOf(time)*30;
|
41
40
|
|
42
|
-
|
41
|
+
for(int i=0; i<totalFrame; i++){
|
43
|
-
|
42
|
+
Mov.write(takedImage);
|
44
|
-
|
43
|
+
}
|
45
|
-
}
|
46
44
|
|
47
|
-
public void bideotsukuru(Mat frame){
|
48
|
-
this.gMovie.write(frame);
|
49
|
-
|
45
|
+
}
|
50
46
|
|
51
|
-
|
47
|
+
public void bideotsukuru(Mat frame){
|
52
|
-
MkMovie go = new MkMovie();
|
53
|
-
go.nanika(args[0]);
|
54
|
-
go.nanika2(args[1]);
|
55
|
-
}
|
56
48
|
|
49
|
+
}
|
57
50
|
|
51
|
+
public static void main(String[] args) {
|
52
|
+
Size frameSize = new Size(1280, 720);
|
53
|
+
int fourcc = VideoWriter.fourcc('D','I','V','X');
|
54
|
+
VideoWriter gMovie = new VideoWriter("generatedMovie.avi", fourcc, 30, frameSize, true);
|
55
|
+
if(!gMovie.isOpened()){
|
56
|
+
System.out.println("Cant Open");
|
57
|
+
}
|
58
|
+
MkMovie go = new MkMovie();
|
59
|
+
|
60
|
+
//gMovie.open();
|
61
|
+
go.nanika(args[0]);
|
62
|
+
go.nanika2(args[1], gMovie);
|
63
|
+
gMovie.release();
|
64
|
+
}
|
65
|
+
|
66
|
+
|
58
67
|
}
|
59
|
-
|
60
68
|
```
|
61
69
|
|
62
70
|
|
@@ -73,6 +81,6 @@
|
|
73
81
|
のみ設定
|
74
82
|
システム環境変数は「Path」に
|
75
83
|
C:\OpenCV\opencv\build\x64\vc15\bin
|
76
|
-
C:\OpenCV\opencv\build\java\
|
84
|
+
C:\OpenCV\opencv\build\java\x64
|
77
85
|
C:\OpenCV\opencv\build\bin
|
78
86
|
を追加してます。
|