我正在使用OpenCV4Android。我知道OpenCV函数可以通过Java包装器在android中使用。现在我的功能有问题" addWeighted"。我想访问它的C ++代码,以便我可以对其进行更改并获得我想要的结果。任何人都可以告诉我它的C ++代码在哪里。我做了很多搜索/谷歌但没有在C ++中获得功能实现。
答案 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中轻松检查代码,甚至可以在opencv代码中进行调试。
opencv源代码(cpp)通过jni包装到android java代码中,我认为不值得修改opencv源代码并自己编译opencv_java.so。相反,您可以通过jni跳过Mat并在cpp中编写自己的addWeighted()函数。