##前提・実現したい事
EclipseでJava用のOpenCVが使えるようになっているか確認するためにプログラミングを記述してみたのですがエラーが出てしまい上手くいきませんでした。
##発生している問題・エラーメッセージ
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::cvtColor, file C:\build\master_winpack-bindings-win64-vc14-static\opencv\modules\imgproc\src\color.cpp, line 11048
Exception in thread "main" CvException [org.opencv.core.CvException: cv::Exception: C:\build\master_winpack-bindings-win64-vc14-static\opencv\modules\imgproc\src\color.cpp:11048: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor
]
at org.opencv.imgproc.Imgproc.cvtColor_1(Native Method)
at org.opencv.imgproc.Imgproc.cvtColor(Imgproc.java:1854)
at test.imgConv.main(imgConv.java:21)
##該当のソースコード
package test;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class imgConv {
static{
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
public static void main(String[] args) { String path_in = "C:\Users\○○\Desktop\対戦カード.png"; String path_out = "C:\Users\○○\Desktop\対戦カード_gray.png"; Mat mat_src = new Mat(); Mat mat_dst = new Mat(); mat_src = Imgcodecs.imread(path_in); // 入力画像の読み込み Imgproc.cvtColor(mat_src, mat_dst, Imgproc.COLOR_BGR2GRAY); // カラー画像をグレー画像に変換 Imgcodecs.imwrite(path_out, mat_dst); // 出力画像を保存 }
}
##試したこと
エラー文の意味を調べ、試行錯誤してみたのですがダメでした。
##補足情報
参考にしたサイトはhttps://qiita.com/livlea/items/a853c374d6d91b33f5fe
です。
##追記
回答者の方が仰るように変更したソースがこちらです。
package test;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class imgConv {
static{
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
public static void main(String[] args) { String path_in = "C:/7f585617.jpg"; String path_out = "C:/7f585617_gray.jpg"; Mat mat_src = new Mat(); Mat mat_dst = new Mat(); mat_src = Imgcodecs.imread(path_in); // 入力画像の読み込み Imgproc.cvtColor(mat_src, mat_dst, Imgproc.COLOR_BGR2GRAY); // カラー画像をグレー画像に変換 Imgcodecs.imwrite(path_out, mat_dst); // 出力画像を保存 }
}
補足情報にのせたURLのようにグレー画像が出力されませんでした。しかしエラーは何も出ませんでした。これはjpgなのが悪いのかOpenCVが上手く使えていないからなのか、それとも他に理由があるのかわかりません。
回答1件
あなたの回答
tips
プレビュー