Android自动裁剪相机捕获的图像

Posted

技术标签:

【中文标题】Android自动裁剪相机捕获的图像【英文标题】:Android auto crop camera captured images 【发布时间】:2013-05-26 21:41:43 【问题描述】:

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

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

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

Find and Crop relevant image area automatically (Java / Android)

https://github.com/biokys/cropimage

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

【问题讨论】:

***.com/questions/8147332/…@ArunKumar 【参考方案1】:

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

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

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

如果您还有其他想知道的,请随时提问。我正在看这篇文章:)

【讨论】:

【参考方案2】:

使用OpenCV for android。

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

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

【讨论】:

404 未找到。请检查

以上是关于Android自动裁剪相机捕获的图像的主要内容,如果未能解决你的问题,请参考以下文章

无法在android中裁剪图像

Android 从 Intent 获取裁剪图像的 URI

裁剪后的Android图像视图仅显示小图像

从相机裁剪图像(android)

如何在 Android 相机上使用意图添加功能裁剪图像?

如何在 Android 7.0 中从相机或图库中选择要裁剪的图像?