11

我正在寻找 android 中的某种自动修剪/裁剪功能。它检测捕获图像中的对象并在对象周围创建一个方形框以进行裁剪。我在 android 中找到了人脸检测 api,但我的问题是捕获的图像是文档/页面而不是人脸,所以我如何从捕获的图片中检测到文档或任何其他对象。

我正在考虑用于对象检测或某些颜色检测的任何算法。是否有任何可用的 API 或库。

我尝试了以下链接,但没有找到任何所需的输出。

自动查找和裁剪相关图像区域(Java / Android)

https://github.com/biokys/cropimage

任何小提示也会对我有很大帮助。请帮忙。提前致谢

4

2 回答 2

1

这取决于您打算捕获和裁剪的内容,但是有很多方法可以实现这一点。就像 littleimp 建议的那样,您应该使用 OpenCv 来获得效果。

我建议您使用边缘检测算法,例如Sobel,并对其执行图像转换,例如,使用阈值函数将图像转换为二进制图像(仅黑白)。之后,您可以使用此处的建议在图像中搜索您想要的几何形状。通过计算检测到的几何图形的面积和比率来过滤您想要的对象。

了解您要在图像中检测到的内容会很有帮助。我描述的那些方法是我用于我的具体案例的方法,它正在开发一种算法来从给定的车辆图像中检测和裁剪车牌。它的工作接近完美,这一切都是通过使用 OpenCV 完成的。

如果您还有什么想知道的,请不要犹豫。我在看这个帖子:)

于 2013-10-22T14:11:32.870 回答
1

为安卓使用OpenCV

您可以使用分水岭 ( Imgproc.watershed ) 函数将图像分割为前景和背景。然后你可以在前景周围裁剪(这将是文档)。

分水岭算法需要一些标记来预先定义区域。例如,您可以假设文档位于图像中间,因此在图像中间创建一个标记区域以启动分水岭算法。

于 2013-10-22T11:42:26.040 回答