删除图像背景/场景

时间:2011-02-05 05:40:40

标签: c# .net algorithm image-processing neural-network

我在第一部分拍摄了一张图像,但后来我想要从右侧拍摄的背景(没有手的图像)中提取所有内容,这样就可以提取手。

我现在的问题是我无法提取背景。我尝试了一种尝试扫描每个像素并查看它是否匹配的方法。如果是这样,它将把像素变成黑色。但是,该计划失败了。有没有其他方法可以解决这个问题?

enter image description here

稍后我会使用神经网络来检测它是否是一只手。

5 个答案:

答案 0 :(得分:5)

您可以使用BitBucket直方图方法来完成此操作。这是一个工作的例子。 Image comparison - fast algorithm

只需存储具有手形图像的不匹配像素。

答案 1 :(得分:3)

尝试iplab在图片上应用大量可用的过滤器。 在过去,我从中获得了很好的结果,从图像中去除了背景噪音。

编辑:它使用Aforge Framework

enter image description here

答案 2 :(得分:2)

我完成了任务:

enter image description here

首先,我做的是提取肤色。 (可以使用AForge的AdaptiveSkinColor) 其次,如果它与肤色相匹配,则使其变白或变黑。

最后,(这部分我有问题)。认识到形状,我想问一下是否有人有另一种方法(比我的更好)来完成这项任务。

我的方法: 1)提取blob(http://geekblog.nl/entry/24:我使用此人方法)并将其放入数组中 2)接下来从数组中取一个Bitmap并将其分成多个部分。喜欢: enter image description here

3)检查(切片成像部分)是黑色还是白色是多数并将其分配为双数组。 [如果黑色指定0.0或者其他1.0] 4)使用hopfield Neural Network并确定该图像是否符合我们的要求。

我知道我的方法效率不高,但这是我之前编写的方法。因此,我要求另一种方法来完成。 (任何建议??)

答案 3 :(得分:0)

许多摄影编辑工具(Topaz ReMask就是一个很好的例子)将从给定图像中提取项目。在这样的程序中,用户快速绘制感兴趣的主题的轮廓。一个相当“胖”的画笔用于使用户轻松完成此任务。该程序现在知道绘制形式内的所有内容都是“感兴趣的主题”,而其他一切都“不是感兴趣的主题”。剩下要做的唯一事情是处理不确定边界区域中的像素。我希望程序使用相当简单的分类过程,例如线性判别分析来预测哪些像素属于哪个类。

答案 4 :(得分:0)

你也可以试试我建议的方法:
HLSL Shader to Subtract Background Image