4

我正在开发一个有图像的应用程序,我想检测所有不同的图像层。例如,假设我有一个包含墙壁、沙发、地毯、椅子、床等的建筑的内部图像。现在我想检测不同层次的图像,如沙发、床、椅子、墙壁等,以便我可以分别给它们上色。

请帮我 。

4

2 回答 2

3

为此,您必须深入研究图像处理:

  1. 一个不错的图像处理库:来自 BradLarson 的 GPUImage

  2. 您必须了解边缘检测并从该检测中得出点。

  3. 一旦你得到这些点,你就必须将边缘分成单独的封闭形状。为此,您必须学习凸形和凹形的实施策略。

  4. 在图像上检测到某些形状后,您可以对形状中包含的图像的底层区域执行颜色更改。

但是,提醒一下,这只会产生近似输出,因为图像中的对象可能处于各种照明条件下,因此边缘检测可能无法捕获对象的真实边界。

于 2013-08-19T06:12:49.280 回答
2

你没有。不可能编写软件来检测照片/图像中的“椅子”与“桌子”。这与图层无关,图像中只有像素。你可以编写一个像 Photoshop 魔术棒这样的工具,它可以选择彼此接近的颜色。但是,它实际上并不会真正以任何自动化方式工作,因为计算机无法根据标准做出决定,比如你的大脑“看到”椅子的方式。

于 2013-08-19T06:03:43.077 回答