【问题标题】:Select a region in a room picture either wall or roof or floor and apply a solid Color or a texture在房间图片中选择一个区域,无论是墙壁、屋顶还是地板,然后应用纯色或纹理
【发布时间】:2016-06-14 02:21:34
【问题描述】:

我是 OpenCV 的新手。我有一个项目来检测房间图片中的墙壁、地板和屋顶,并根据选择应用颜色或纹理。我在互联网上搜索了很多,但找不到一个好的。

我还尝试了一种像素方法来为背景着色,但它并没有给人一种房间的感觉。如果您不介意,请有人在这方面帮助我或分享代码。提前致谢。

【问题讨论】:

标签: c# opencv emgucv detection


【解决方案1】:

为了获得真实的结果,您需要:

1) 认清什么是该表面的一部分,什么不是该表面的一部分。如果光照或纹理不完全平坦,这将成为边缘检测的练习——或要求用户帮助勾勒受影响的区域。

2) 识别哪些变化是表面纹理的一部分并且应该被移除,哪些是照明效果并且必须保留并应用于新的表面处理。

3) 如果新表面具有纹理,请识别该表面的大小和方向,以便了解如何缩放/拉伸/倾斜纹理以正确反映透视和尺寸。

4) 使用所有这些信息将新纹理处理到该表面所占据的图像区域上。

做一个手动辅助的版本还不错;这是一个适合图像处理入门课程的期末项目。自动化它变得困难。

墙壁处理、带状疱疹、壁板等的各种制造商有时会提供免费工具来完成其中的一些工作。还有一些工具可以从制造商那里获取半标准化的数据文件并执行此操作;其功能减少的版本可能作为免费软件提供。我建议做一些市场调查——找到并尝试其中的一些,确定你喜欢和不喜欢它们的地方,然后用它来指导你自己的设计。

在旧版本的 SIGGRAPH 程序中,也会有很多关于这种过程的讨论,那时我们还在弄清楚所有这些。一些计算机图形方面的书籍也可能会讨论纹理替换。

玩得开心!

【讨论】:

  • 嗨,谢谢你的想法。我一定会跟随他们。顺便问一下,你有 Comaniciu 和 Meers 的“Mean Shift”算法的代码吗?
  • 让别人为你写作业在这里是题外话。
猜你喜欢
  • 2019-12-13
  • 2016-07-08
  • 2018-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多