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自动裁剪相机捕获的图像的主要内容,如果未能解决你的问题,请参考以下文章