在Android中使用边缘检测选择区域后裁剪图像

5
我希望能够自动选择页面区域以便日后进行裁剪。我认为边缘检测可能有用,因此使用Canny边缘检测来查找图像的边缘。现在我有了这张图片!但是我没有明确的想法来选择页面区域作为矩形。有人可以建议一种方法或实现这个问题吗?
我真正想做的是选择页面区域如下所示: 是否有其他方法可以做到这一点?我还在《MATLAB数字图像处理入门》中看到了边界检测,但我不熟悉它。我可以将其用于此目的吗?

1
重复:https://dev59.com/aWoy5IYBdhLWcg3wQr5i - ArtemStorozhuk
谢谢。我会检查一下。你知道这些技术的Java实现吗?如果可以避免使用OpenCV或C++,那就更好了。 - chAmi
OpenCV API for Android(C++)与普通的OpenCV(非Android版)相同。如果您想用它处理高分辨率图像,那么显然需要使用C++编写代码。 - ArtemStorozhuk
@chAmi:已经解决了这个问题。你能分享一下源代码吗? - Manoj
@chAmi: 你好,我想像你提到的那样检测边缘。你能指导一下吗? - Mehul Joisar
显示剩余4条评论
1个回答

1
我假设你已经进行了“Canny”图像处理。现在,您可以使用Imgproc.findCountours来查找和存储边缘(您需要List<MatOfPoint>)。在使用findContours之前,我建议尝试使用Imgproc.dilate,这可能有助于找到轮廓(它会“加粗”线条,因此我们可以确保findContours不会错过目标)。然后,您只需要使用Imgproc.boudningRect来获取ROI。然后,只需使用此ROI裁剪图像即可。

请问您能否展示一个代码示例。提前致谢。 - Kashif Anwaar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接