是否使用多个点和灵活的大小裁剪图像?

Crop an image using multiple points and flexible size?(是否使用多个点和灵活的大小裁剪图像?)

本文介绍了是否使用多个点和灵活的大小裁剪图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个类似于用于裁剪文档的凸轮扫描仪的应用程序。

但我需要与我的两个映像相同的功能。

显示的第一张图像摄像机捕获的图像..

第二个图像识别捕获的图像部分,如下所示..

我研究得越来越多,但没有得到任何成果,所以我在这里问一下,有没有人做过这件事告诉我..

谢谢

推荐答案

我认为您的问题是检测要扫描的对象。

像模式匹配或功能检测这样的对象检测机制不会给您带来您想要的结果,因为您不知道您正在扫描的对象到底是什么。

基本上是在图片中搜索矩形对象。

解决此问题的基本方法如下:

  • 对映像运行canny edge detector。在执行此操作之前,稍微模糊一下图像可能会有所帮助。对象的边缘应清晰可见。

  • 现在您要执行Hough transform以查找图片中的线条。

  • 搜索彼此夹角在90度左右的线。问题是要找到合适的人选。也许使用与图片边框最接近的线条与它们相当平行就足够了。

  • 查找交点以定义对象的边缘。

至少这应该会给您一个进一步研究的提示。

作为此类应用程序中的进一步步骤,您必须计算点的投影并对对象进行仿射变换。

我希望这会有帮助。

写完所有这些内容后,我发现this post.应该对您有很大帮助。

我的答案是以OpenCV为目标,您必须使用OpenCV库。 为此,您需要安装Android Native Development Kit (NDK)。 在OpenCV for Android页面上有一些关于如何在Android上使用OpenCV的很好的教程。

要记住的一件事是,Java包装器的几乎每个函数都调用本机方法。这需要花费大量的时间。因此,在将结果返回到Java部件之前,您希望在本机代码中执行尽可能多的操作。

这篇关于是否使用多个点和灵活的大小裁剪图像?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:是否使用多个点和灵活的大小裁剪图像?

基础教程推荐