Android自动裁剪相机拍摄的图像

时间:2013-05-31 06:27:49

标签: android image-processing crop feature-detection

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

我正在考虑用于物体检测或某些颜色检测的任何算法。是否有适用于它的api或库。

我尝试过以下链接但未找到任何所需的输出。

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

https://github.com/biokys/cropimage

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

2 个答案:

答案 0 :(得分:1)

使用OpenCV for android

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

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

答案 1 :(得分:1)

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

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

知道你想要在图像中检测到什么会有很大帮助。我描述的那些方法是我用于特定情况的那些方法,它正在开发一种算法来检测和裁剪来自给定车辆图像的车牌。它的工作接近完美,并且都是通过使用OpenCV完成的。

如果您还有其他想知道的事,请不要犹豫。我正在看这篇文章:)

相关问题