如何在 Android 上使用 Catalano 框架完成矩形检测?

问题描述

我正在尝试在不使用 OpenCV 的情况下在 Android 上实现文档扫描功能。我是计算机视觉的新手,但到目前为止,在 Android 上尝试各种选项一直很有趣。

我想要完成的是能够检测一张纸的外边缘并使用这些边缘/坐标来裁剪图像,可能执行旋转以完美对齐文档,最后甚至扭曲捕捉论文的视角存在任何缺陷。

所有这一切首先要求我正确识别文档的所有 4 个角。

我一直在试验 Catalano,因为与 openCV 相比,它是一个轻量级的框架。我正在努力解决的问题是苏珊和哈里斯角检测算法检测屏幕上的每个角......文本的角和边缘等......

迭代每个返回的 IntPoint 并尝试确定最大的矩形是我的最佳选择吗?

或者是否有其他一些建议的方法组合来找到位图中最大的矩形?

我看到框架中有一个 blob 检测器可用,但它似乎在 blob 周围放置了边界框,而不是找到特定项目的精细边缘。

如果有人对如何识别矩形有任何建议,将不胜感激。

我正在考虑的一种技术是

  1. 调整阈值,使文档完全变白(文字不可见)
  2. 运行 Harris 角点检测(似乎 Susan 角点检测对边缘很敏感,我主要想要角点)
  3. 迭代点列表并跟踪点之间的最长线(这可能很昂贵,这就是为什么阈值减少我将检测到的角数很重要的原因)
  4. 选择 2 组 2 条平行边/线。这些应该是前 4 条最长的行。
  5. 确保这些线具有正交关系。

我有一些工作,但对于初学者来说,我不确定如何可靠地将文档阈值设置到文本不可见的程度。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)