2012-06-26 64 views
5

我想自动选择页面区域以稍后进行裁剪。 我认为边缘检测可能是有用的,并使用canny边缘检测来查找图像的边缘。现在我有这个形象!但我没有清楚的想法选择页面的区域作为矩形。任何人都可以提出一个方法或实现这个问题? 我真正想要做的是如下选择页面的区域。 有没有其他方法可以做到这一点?我还在使用matlab的数字图像处理介绍书中看到了边界检测。但我并不熟悉这一点。我可以将其用于此目的吗?在android中使用边缘检测选择区域后的裁剪图像

+1

重复:http://stackoverflow.com/questions/8667818/opencv-c-obj-c-detecting-a-sheet-of-paper-square-detection/ – ArtemStorozhuk

+0

谢谢。我会检查它。你知道这些技术的Java实现吗?我更喜欢如果我可以避免opencv或C++。 – chAmi

+0

是的,请参阅[本教程](http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/android_binary_package.html#android-binary-package)。但是C++会更快。 – ArtemStorozhuk

回答

0

我假设你有“Canny-ed”图像。现在您可以使用 Imgproc.findCountours来查找和存储边缘(您需要List<MatOfPoint>)。在使用findContours之前,我会玩Imgproc.dilate,这可能有助于找到轮廓(它会“增强”线条,因此我们确信findContours不会错过您的目标)。那么您只需使用Imgproc.boudningRect即可获得您的投资回报。然后使用这个ROI裁剪图像。