###実現したい事
OpenCVを用いたプログラムをコマンドライン上でコンパイルして実行したいのですが、エラーが出て上手くいきません。よく似たソースをEclipse上で実行させると問題なく動きました。しかしコマンドライン上でコンパイルするとエラーが出ます。OpenCVを使うSystemloadの書き方が違うのかなと思ったのですが、色々試してもダメでした。分かる方回答お願いします。
###Eclipse上で動かしたソースとコマンドライン上で動かしたソースの相違部分
Java
1System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Eclipse上では上記で上手くいきました。
コマンドライン上では上記ではエラーが出たので、
Java
1 System.loadLibrary("C:/Users/○○/Downloads/opencv3.3.1/build/java/opencv-331.jar");
このように記述しました。これはEclipseでビルドパスの構成を確認してjarが通してあるパスをそのまま打ち込みました。
###エラー内容
エラーはシンボルが見つからないと出るのですがどれもこれをOpenCVに組み込まれているクラスばかりなのでOpenCVがコマンドライン上からではうまく使えてないのではと思いました。
###エラー文
AKAZE.java:7: エラー: パッケージorg.opencv.coreは存在しません import org.opencv.core.Core; ^ AKAZE.java:8: エラー: パッケージorg.opencv.coreは存在しません import org.opencv.core.DMatch; ^ AKAZE.java:9: エラー: パッケージorg.opencv.coreは存在しません import org.opencv.core.Mat; ^ AKAZE.java:10: エラー: パッケージorg.opencv.coreは存在しません import org.opencv.core.MatOfDMatch; ^ AKAZE.java:11: エラー: パッケージorg.opencv.coreは存在しません import org.opencv.core.MatOfKeyPoint; ^ AKAZE.java:12: エラー: パッケージorg.opencv.features2dは存在しません import org.opencv.features2d.DescriptorExtractor; ^ AKAZE.java:13: エラー: パッケージorg.opencv.features2dは存在しません import org.opencv.features2d.DescriptorMatcher; ^ AKAZE.java:14: エラー: パッケージorg.opencv.features2dは存在しません import org.opencv.features2d.FeatureDetector; ^ AKAZE.java:15: エラー: パッケージorg.opencv.features2dは存在しません import org.opencv.features2d.Features2d; ^ AKAZE.java:16: エラー: パッケージorg.opencv.imgcodecsは存在しません import org.opencv.imgcodecs.Imgcodecs; ^ AKAZE.java:17: エラー: パッケージorg.opencv.imgprocは存在しません import org.opencv.imgproc.Imgproc; ^ AKAZE.java:41: エラー: シンボルを見つけられません public static BufferedImage matToBufferedImage(Mat matrix) { ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:89: エラー: シンボルを見つけられません Mat image01 = Imgcodecs.imread("C:/OpenCVtest/2017-09-21 15.25.19.jpg"); ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:89: エラー: シンボルを見つけられません Mat image01 = Imgcodecs.imread("C:/OpenCVtest/2017-09-21 15.25.19.jpg"); ^ シンボル: 変数 Imgcodecs 場所: クラス AKAZE AKAZE.java:92: エラー: シンボルを見つけられません Mat image02 = Imgcodecs.imread("C:/OpenCVtest/2017-09-21 15.25.21.jpg"); ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:92: エラー: シンボルを見つけられません Mat image02 = Imgcodecs.imread("C:/OpenCVtest/2017-09-21 15.25.21.jpg"); ^ シンボル: 変数 Imgcodecs 場所: クラス AKAZE AKAZE.java:94: エラー: シンボルを見つけられません Mat grayImage01 = new Mat(image01.rows(), image01.cols(), image01.type()); ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:94: エラー: シンボルを見つけられません Mat grayImage01 = new Mat(image01.rows(), image01.cols(), image01.type()); ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:95: エラー: シンボルを見つけられません Imgproc.cvtColor(image01, grayImage01, Imgproc.COLOR_BGRA2GRAY); ^ シンボル: 変数 Imgproc 場所: クラス AKAZE AKAZE.java:95: エラー: シンボルを見つけられません Imgproc.cvtColor(image01, grayImage01, Imgproc.COLOR_BGRA2GRAY); ^ シンボル: 変数 Imgproc 場所: クラス AKAZE AKAZE.java:96: エラー: シンボルを見つけられません Core.normalize(grayImage01, grayImage01, 0, 255, Core.NORM_MINMAX); ^ シンボル: 変数 Core 場所: クラス AKAZE AKAZE.java:96: エラー: シンボルを見つけられません Core.normalize(grayImage01, grayImage01, 0, 255, Core.NORM_MINMAX); ^ シンボル: 変数 Core 場所: クラス AKAZE AKAZE.java:98: エラー: シンボルを見つけられません Mat grayImage02 = new Mat(image02.rows(), image02.cols(), image02.type()); ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:98: エラー: シンボルを見つけられません Mat grayImage02 = new Mat(image02.rows(), image02.cols(), image02.type()); ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:99: エラー: シンボルを見つけられません Imgproc.cvtColor(image02, grayImage02, Imgproc.COLOR_BGRA2GRAY); ^ シンボル: 変数 Imgproc 場所: クラス AKAZE AKAZE.java:99: エラー: シンボルを見つけられません Imgproc.cvtColor(image02, grayImage02, Imgproc.COLOR_BGRA2GRAY); ^ シンボル: 変数 Imgproc 場所: クラス AKAZE AKAZE.java:100: エラー: シンボルを見つけられません Core.normalize(grayImage02, grayImage02, 0, 255, Core.NORM_MINMAX); ^ シンボル: 変数 Core 場所: クラス AKAZE AKAZE.java:100: エラー: シンボルを見つけられません Core.normalize(grayImage02, grayImage02, 0, 255, Core.NORM_MINMAX); ^ シンボル: 変数 Core 場所: クラス AKAZE AKAZE.java:103: エラー: シンボルを見つけられません FeatureDetector siftDetector = FeatureDetector.create(FeatureDetector.AKAZE); ^ シンボル: クラス FeatureDetector 場所: クラス AKAZE AKAZE.java:103: エラー: シンボルを見つけられません FeatureDetector siftDetector = FeatureDetector.create(FeatureDetector.AKAZE); ^ シンボル: 変数 FeatureDetector 場所: クラス AKAZE AKAZE.java:103: エラー: シンボルを見つけられません FeatureDetector siftDetector = FeatureDetector.create(FeatureDetector.AKAZE); ^ シンボル: 変数 FeatureDetector 場所: クラス AKAZE AKAZE.java:104: エラー: シンボルを見つけられません DescriptorExtractor siftExtractor = DescriptorExtractor.create(DescriptorExtractor.AKAZE); ^ シンボル: クラス DescriptorExtractor 場所: クラス AKAZE AKAZE.java:104: エラー: シンボルを見つけられません DescriptorExtractor siftExtractor = DescriptorExtractor.create(DescriptorExtractor.AKAZE); ^ シンボル: 変数 DescriptorExtractor 場所: クラス AKAZE AKAZE.java:104: エラー: シンボルを見つけられません DescriptorExtractor siftExtractor = DescriptorExtractor.create(DescriptorExtractor.AKAZE); ^ シンボル: 変数 DescriptorExtractor 場所: クラス AKAZE AKAZE.java:106: エラー: シンボルを見つけられません MatOfKeyPoint keyPoint01 = new MatOfKeyPoint(); ^ シンボル: クラス MatOfKeyPoint 場所: クラス AKAZE AKAZE.java:106: エラー: シンボルを見つけられません MatOfKeyPoint keyPoint01 = new MatOfKeyPoint(); ^ シンボル: クラス MatOfKeyPoint 場所: クラス AKAZE AKAZE.java:109: エラー: シンボルを見つけられません MatOfKeyPoint keyPoint02 = new MatOfKeyPoint(); ^ シンボル: クラス MatOfKeyPoint 場所: クラス AKAZE AKAZE.java:109: エラー: シンボルを見つけられません MatOfKeyPoint keyPoint02 = new MatOfKeyPoint(); ^ シンボル: クラス MatOfKeyPoint 場所: クラス AKAZE AKAZE.java:112: エラー: シンボルを見つけられません Mat descripters01 = new Mat(image01.rows(), image01.cols(), image01.type()); ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:112: エラー: シンボルを見つけられません Mat descripters01 = new Mat(image01.rows(), image01.cols(), image01.type()); ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:115: エラー: シンボルを見つけられません Mat descripters02 = new Mat(image02.rows(), image02.cols(), image02.type()); ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:115: エラー: シンボルを見つけられません Mat descripters02 = new Mat(image02.rows(), image02.cols(), image02.type()); ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:118: エラー: シンボルを見つけられません MatOfDMatch matchs = new MatOfDMatch(); ^ シンボル: クラス MatOfDMatch 場所: クラス AKAZE AKAZE.java:118: エラー: シンボルを見つけられません MatOfDMatch matchs = new MatOfDMatch(); ^ シンボル: クラス MatOfDMatch 場所: クラス AKAZE AKAZE.java:119: エラー: シンボルを見つけられません DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE); ^ シンボル: クラス DescriptorMatcher 場所: クラス AKAZE AKAZE.java:119: エラー: シンボルを見つけられません DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE); ^ シンボル: 変数 DescriptorMatcher 場所: クラス AKAZE AKAZE.java:119: エラー: シンボルを見つけられません DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE); ^ シンボル: 変数 DescriptorMatcher 場所: クラス AKAZE AKAZE.java:124: エラー: シンボルを見つけられません DMatch[] tmp01 = matchs.toArray(); ^ シンボル: クラス DMatch 場所: クラス AKAZE AKAZE.java:125: エラー: シンボルを見つけられません DMatch[] tmp02 = new DMatch[N]; ^ シンボル: クラス DMatch 場所: クラス AKAZE AKAZE.java:125: エラー: シンボルを見つけられません DMatch[] tmp02 = new DMatch[N]; ^ シンボル: クラス DMatch 場所: クラス AKAZE AKAZE.java:132: エラー: シンボルを見つけられません Mat matchedImage = new Mat(image01.rows(), image01.cols()*2, image01.type()); ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:132: エラー: シンボルを見つけられません Mat matchedImage = new Mat(image01.rows(), image01.cols()*2, image01.type()); ^ シンボル: クラス Mat 場所: クラス AKAZE AKAZE.java:133: エラー: シンボルを見つけられません Features2d.drawMatches(image01, keyPoint01, image02, keyPoint02, matchs, matchedImage); ^ シンボル: 変数 Features2d 場所: クラス AKAZE AKAZE.java:136: エラー: シンボルを見つけられません Imgcodecs.imwrite("C:/OpenCVtest/Test.jpg", matchedImage); ^ シンボル: 変数 Imgcodecs 場所: クラス AKAZE エラー54個
###実行コマンド
javac AKAZE.java
回答1件
あなたの回答
tips
プレビュー