1

我正在使用 OpenCV4Android。我知道 OpenCV 函数可以通过 Java 包装器在 android 中使用。现在我遇到了函数“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 代码中进行调试。

opencv源代码(cpp)通过jni包装到android java代码,我认为不值得修改opencv源代码并自己编译一个opencv_java.so。相反,您可以通过 jni 通过 Mat 并在 cpp 中编写自己的 addWeighted() 函数。

于 2014-10-24T06:10:12.057 回答