2013-08-23 42 views
0

我发现此代码:https://github.com/mintuhouse/FinMan/blob/master/src/unix/imp.cpp这是一个使用OpenCV对收据进行图像预处理的类。在Android上使用Opencv

我想问:我如何在一个android应用程序中使用它,它会拍摄一张照片并将其保存为位图?

我试图了解该类正在做什么,并试图在android中编写此过程。但它有点难,因为它有一些功能,如我在OpenCV for Android中找不到的cvZero(image)。有任何想法吗?

此外,我已经尝试过NDK,但我无法弄清楚我的位图文件和这个类在NDK构建之后如何通信。我很困惑!任何帮助?

+0

cpp示例使用旧的c-api,android/java代码基于较新的C++ api。上面的代码似乎也做了很多你似乎想做的事情。 – berak

+0

我想要的是捕获收据并提取物品及其价格。但是因为我使用的tesseract引擎没有给我满意的结果,我认为对图像进行良好的过滤会给出更好的结果。所以我发现这个类使得过滤,我想尝试写在Android/Java代码。你建议我做什么? –

回答

0

在旧的opencv api中,从前缀“cv”开始的所有函数,结构等都表明它们是OpenCV库的一部分。在2.0版本中,api发生了变化,所有的函数,结构,类等都在命名空间“cv”中,所以在C++中可以使用这个前缀来访问它们,例如“cv :: Point”或者“cv:imread(... )”。旧的cvZero函数现在可以以同样的方式访问,或者最终是Mat类的一个方法(可能是静态的) - 所以你可以这样使用它:myMat.zero(...)或Mat :: zero(...)。在Java中它应该是类似的 - 试试myMat.zero(...)或Mat.zero(...)。