java中的openCV - 希望使用split方法。

时间:2012-01-02 16:00:17

标签: java opencv split detection

我最近开始使用java开发openCV,到目前为止看起来很棒。我设法检测到面孔并玩了一个阈值。所以基本上是101件事。

现在,我希望更进一步,我希望确定'手'或'手指',但出于某种原因,我注意到OpenCV不包含C ++所有的所有方法(功能)。 (这个陈述我可能错了)

鉴于

OpenCV cv = new OpenCV(); 

我能够做到这一点:

cv.absDiff();

但是我无法使用其他方法,例如:split(退出openCV文档,http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html#cv-split)。

所以我的问题是:我在这里缺少什么,或者OpenCV for java是有限的吗? 我已经多年没用过C ++了(所以我真的不记得这个符号)。

感谢您的任何指示: - )

2 个答案:

答案 0 :(得分:2)

我理解它的方式;基本上有两种发展方式(进一步详细here;即"基本"和#34;高级"等级;

  1. (高级)使用Android NDK,其中包含所有OpenCV的功能,并具有更容易使用现成C ++代码的额外优势。使用更大的处理流水线也会更快。

  2. (基本级别)无需使用Android NDK。这种方法利用了为java提供的OpenCV API; OpenCV功能的一个子集(当然可能是足够的,依赖于应用程序)。不需要NDK(以及C ++)知识。

  3. 根据应用的需要,这两种方法可以一起使用。


    关于split方法; here是Java文档的链接。搜索方法名称split。要使用Core.split(m,chnl);,其中mMat图像对象,而chnlList,其中包含生成的单独频道。

答案 1 :(得分:0)

如前面提到的here,Java中没有OpenCv。你应该使用JavaCV代替。它包含OpenCV中的所有方法。

您还可以查看此thread上发布的第二个答案。