【问题标题】:How to paint on walls in Camera View android?如何在 Camera View android 中的墙壁上绘画?
【发布时间】:2017-11-15 12:45:57
【问题描述】:

我正在尝试在我的相机视图中绘制墙壁。谁能告诉我应该从哪里开始,任何可以为我指明正确方向的图书馆或有用的东西。

我知道这很困难,但我需要一些指导来继续我的工作。目前我只尝试使用VuForia,但我不知道我们如何将它与墙壁识别一起使用并在增强现实的墙壁上绘画。

以下是所需的结果:

【问题讨论】:

  • OpenCV 是我的建议opencv.org/platforms/android OpenCV(开源计算机视觉库)是在 BSD 许可下发布的,因此它对学术和商业用途都是免费的。它具有 C++、C、Python 和 Java 接口,支持 Windows、Linux、Mac OS、iOS 和 Android。
  • 你得到这个问题的答案了吗?可以分享一下吗?
  • @Waqas Ahmed Khan 是 ka solution mila?
  • @MuhammadSaqib 唯一的解决方案是创建您自己的解决方案!
  • @WaqasAhmedKhan 你成功了吗?

标签: android android-camera surfaceview vuforia glsurfaceview


【解决方案1】:

正如您所说,回答您的问题并不容易,因为有多种解决方案可以实现您想要的。

我认为您应该阅读有关对象检测的内容,尤其是有关卷积神经网络 (CNN) 的内容。检测任务的好库可能是OpenCV 和谷歌Tensorflow。 Googles Mobile Vision API 中的示例还可以向您展示如何从相机获取实时信息并管理将其与您的画作叠加。 This 示例我个人发现对于查看在何处/如何实现检测器以及图形覆盖非常有帮助,即使它用于文本识别。最后here 你有Android Tensorflow 演示。

但尽管看起来很容易,但仍有很长的路要走。对于这种使用 Tensorflow 的实现,您需要...

  1. 收集带有墙壁和非墙壁的示例图像;)
  2. 考虑预处理,例如重新缩放、灰度和过滤并实现它
  3. 为您的 CNN 模型编写和调整 Python 代码
  4. 使用 Python 训练和评估您的模型
  5. 将您的模型移植到 Android
  6. 在适当的区域上漆

我能想到的另一种方法是使用Edge DetectionHough Line Transform,但我建议您使用神经网络,因为结果可能更好,Tensorflow(移动或 Lite)已经针对 Android 进行了优化,而且它是尖端技术; )

希望这会有所帮助!

【讨论】:

  • 张量流输出会是什么?它会检测到一个物体。说一堵墙。那么你会创建一个叠加层并绘制?
  • @Raghunandan 你找到答案了吗?
  • @Weaboo 没有。但上面的答案是你应该遵循的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-06
  • 2016-05-27
  • 1970-01-01
  • 2011-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多