Android OpenCV:C ++中的AddWeighted函数实现

时间:2014-10-24 05:38:38

标签: opencv opencv4android

我正在使用OpenCV4Android。我知道OpenCV函数可以通过Java包装器在android中使用。现在我的功能有问题" addWeighted"。我想访问它的C ++代码,以便我可以对其进行更改并获得我想要的结果。任何人都可以告诉我它的C ++代码在哪里。我做了很多搜索/谷歌但没有在C ++中获得功能实现。

1 个答案:

答案 0 :(得分:4)

如果您只是需要知道源代码在哪里。 我检查了我的opencv(2.4.5 for PC)并在此处找到它:\ 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中轻松检查代码,甚至可以在o​​pencv代码中进行调试。

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