我有一个有点奇怪的问题。自从我6个月前开始去健身房以来,我每周都拍一张裸体照片,我希望看到我在视频中的变化。问题是我没有把它们放在蓝色墙壁或类似的东西面前,而只是在我的房间里。现在我想从中提取我并从中创建一个视频。我可以手工完成,但这将是很多工作,它不会有一半的乐趣。有几个问题:
我希望能够从每张照片中提取我并自动调整照明,使其看起来尽可能相似。
我知道一种适用于类似问题的算法:我有一个只有背景的视频和一个人走过场景的视频。然后我可以计算仅背景视频中每个像素的平均m RGB矢量并构建协方差矩阵C,并且对于真实视频,我提取每个像素x,其中(x-m)'C(x-m)大于某个阈值。但是我觉得如果背景的光线略有变化会有效,但我猜它不适用于不同的角度和不同的位移,所以我想我需要改进。
我有很好的编程技巧和图像处理的基本知识,所以我可能能够理解有关该主题的论文等。我只是不知道要搜索什么。
答案 0 :(得分:1)
像素可以属于两个类(对象和背景)的图像分割任务通常称为“阈值处理”。有几种算法可用,但几乎每个图像处理库都默认使用Otsu的方法(http://en.wikipedia.org/wiki/Otsu%27s_Method)。如果存在不均匀的闪电,您可以尝试使用多个阈值的算法,一个用于图像中的每个像素子集,而不是仅用于整个图像的一个。这些方法在文献中被称为“自适应阈值处理”/“局部阈值处理”,并且从OCR和医学研究中出现。您可能需要使用一些形态滤镜预处理/后处理结果以消除噪音。
这是一篇关于类似分段任务的博客文章,在MATLAB中:http://blogs.mathworks.com/steve/2010/10/08/the-two-amigos/
如果仍然没有获得好的结果,请搜索文献中的“背景减法”,以获得不基于强度阈值的更复杂的算法。