7

一部のopencvコードをC++からJavaに変換しようとしていますが、次のコードで行き詰まっています:

Mat matXyz; // some Mat
Mat result; // some other Mat
// ... set above mats to some values ...
result = Mat::ones(matXyz.size(), CV_32F) - result;

まず、最後の行が何をしているのかさえよくわかりません。次に、この行を Java (OpenCV 2.4.6) に転送する方法がわかりません。これは、C++ のようなオーバーロードされた演算子がなく、Java クラスに同等のメソッドが見つからなかったためです ( OpenCV Javadocを参照)。

これをJavaに転送する最良の方法は何ですか?

4

1 に答える 1

10

org.opencv.core.Coreクラスには、減算演算子を含む行列演算があります。

Mat endResult;
Core.subtract(Mat.ones(matXyz.size(),CvType.CV_32F),result,endResult);

matXyzコードの最後の行は、データが浮動小数点数であると同じサイズの 1 で満たされた Matrix を作成します。リンクしたドキュメントにすべて説明されています。

于 2013-09-24T17:26:00.797 に答える