2012-07-28 248 views
2

我正在开发android平台上的应用程序。该应用程序基本上需要使用相机捕获图像(已完成),然后分析捕获的图像,以查看一种颜色结束和下一个开始的位置(假设图像总是具有2或3个主色,并且将非常简单)。有任何想法吗?android上的图像分割

P.S.我已经尝试过OpenCV,但有两个问题:1.图书馆需要先安装在您的手机上才能让您的应用程序正常工作,并且我不能拥有该应用程序,因为它将是一个商业应用程序(我不确定这一点2.其次,我的应用程序的min-sdk是android 2.2,对于OpenCV它是2.3

+0

当谈到计算机视觉时,问题领域的所有相关信息都是有价值的。因此,请具体说明您想实现的目标:) – 2012-07-28 23:50:23

回答

1

OpenCV虽然是一个很好的通用库,但它只是一组处理像素的实用工具。如果许可证和最小SDK有问题,请自行编写。分割就是选择图像中的起始x,y位置,并在每个方向上遍历,直到遇到满足或超过“不同”阈值的像素为止。使用堆栈来记录你在x和y中的位置,然后通过从堆栈中弹出索引并在返回到原来的位置时遵循另一个方向来回溯。当您步入x或y时,将索引推入堆栈。 这并不难,只是很乏味,但这就是为什么人们写图书馆来做这件事。

0

要做这样的事情,你需要做图像处理。一个非常受欢迎的C++/Java库当然可以处理这个库,它是OpenCV

+0

是的我已经尝试过了,但有两个问题: 1.图书馆需要先安装在手机上才能让您的应用程序正常工作,而且我无法有,因为它将是一个商业应用程序(我不知道这种依赖关系,虽然) 2.其次,我的应用程序的min-sdk是android 2.2和OpenCV的2.3 – 2012-07-28 23:26:05

+0

好吧,那么我不知道什么是其他选项是。我建议你把你已经尝试过的东西放在你的原始问题中,避免像这样的无用回复:-)。 – Mekswoll 2012-07-28 23:28:24

+0

OpenCV是BSD许可的,因此您可以将源代码获取到您需要的功能并将其合并到您的应用程序中,并根据需要对其进行调整以支持Froyo。您主要的其他选择是滚动您自己的图像识别。 – Cheezmeister 2012-07-29 00:02:19

1

我刚开始使用OpenCv,你提到的问题(安装库)也是我面临的主要问题之一。不过,我通过声明OpenCv初始化为静态,找到了解决此问题的方法。当你初始化静态时,不需要预先安装这些库。

狗运气!