如何在Android相机视图中绘制墙壁?

5

我正在尝试在我的相机视图中绘制墙壁。有人能告诉我应该从哪里开始吗?是否有任何库或其他有用的东西可以指导我朝着正确的方向前进。

我知道这是一件困难的事情,但我需要一些方向来继续我的工作。目前我只尝试过VuForia,但我不知道如何将其与识别墙壁和在增强现实中绘制墙壁结合使用。

以下是所需结果:

enter image description here

enter image description here


OpenCV是我推荐的选择。OpenCV(开源计算机视觉库)采用BSD许可证发布,因此无论是学术用途还是商业用途它都是免费的。它具有C ++、C、Python和Java接口,并支持Windows、Linux、Mac OS、iOS和Android操作系统。 - Jon Goodwin
你解决了这个问题吗?能分享一下吗? - Huzaifa Asif
@Waqas Ahmed Khan 找到解决方案了吗? - Muhammad Saqib
@MuhammadSaqib,唯一的解决方案是创建您自己的解决方案! - Waqas Ahmed Khan
@WaqasAhmedKhan 你成功了吗? - Muhammad Saqib
1个回答

3
正如你所说,回答你的问题并不容易,因为有多种解决方案可以实现你想要的。我认为你应该了解目标检测,特别是卷积神经网络(CNN)。用于检测任务的好库可能是OpenCV和Google的Tensorflow。此外,Google的Mobile Vision API中的示例可以向您展示如何从相机获得实时反馈,并管理将其与您的绘画叠加。这个示例我个人发现非常有用,可以看到在哪里/如何实现检测器以及图形叠加,即使它是用于文本识别。最后,这里有Android Tensorflow演示。但是,尽管看起来很简单,但还有很长的路要走。对于这种Tensorflow实现,您需要...
  1. 收集带有墙壁和非墙壁的示例图像 ;)
  2. 考虑预处理例如重新缩放、灰度和滤波并实现它
  3. 编写和调试您的Python代码以用于CNN模型
  4. 使用Python训练和评估模型
  5. 将模型移植到Android
  6. 在适当的区域上进行涂鸦

我可以想到另一种方法是使用边缘检测霍夫线变换,但我建议您使用神经网络,因为结果可能更好,Tensorflow(Mobile或Lite)已经针对Android进行了优化,并且是尖端技术 ;)

希望这有所帮助!


TensorFlow会输出什么?它会检测到一个对象,比如一堵墙,然后你就可以创建一个叠加层并进行绘制。 - Raghunandan
@Raghunandan,你找到答案了吗? - Ahsan
1
@Weaboo 不是,但上面的答案是你应该遵循的。 - Raghunandan

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