1

私は OpenCV4Android を使用しています。Javaラッパーを介してAndroidでOpenCV関数を利用できることを私は知っています。今、関数「addWeighted」に問題があります。その C++ コードにアクセスして、変更を加えて目的の結果を得ることができるようにしたいと考えています。そのC++コードがどこにあるか教えてください。私は多くの検索/グーグルを行いましたが、C++ で関数を実装できませんでした。

4

1 に答える 1

4

ソースコードがどこにあるかを知る必要がある場合。opencv (PC の場合は 2.4.5) を確認すると、\modules\core\src\arithm.cpp で見つかります。

void cv::addWeighted( InputArray src1, double alpha, InputArray src2,
                          double beta, double gamma, OutputArray dst, int dtype )
    {
        double scalars[] = {alpha, beta, gamma};
        arithm_op(src1, src2, dst, noArray(), dtype, addWeightedTab, true, scalars);
    }

opencv を自分でコンパイルし、ソース ディレクトリへのパスを追加します。次に、IDE でコードを簡単にチェックし、opencv コード内でデバッグすることもできます。

jniを介してandroid Javaコードにラップされたopencvソースコード(cpp)。opencvソースコードを変更してopencv_java.soを自分でコンパイルする価値はないと思います。代わりに、jni を介して Mat を通過し、cpp で独自の addWeighted() 関数を記述できます。

于 2014-10-24T06:10:12.057 に答える