【发布时间】:2015-02-16 10:40:55
【问题描述】:
给定 2 个连续帧,我如何搜索发生变化的像素? 我尝试了以下方法:
if (old != null)
{
for (int i = 0; i < b.Width; i++)
{
for (int j = 0; j < b.Height; j++)
{
if (!b.GetPixel(i, j).Equals(old.GetPixel(i, j)))
s.SetPixel(i, j, b.GetPixel(i, j));
else
s.SetPixel(i, j, Color.White);
}
}
}
其中“old”是前一帧,“s”是新帧。该代码基本上将未更改的像素绘制为白色。 但由于网络摄像头产生的帧质量非常低,几乎所有像素都会发生变化。 如何消除没有“大”变化的像素?
【问题讨论】:
-
有很多关于运动检测的书籍和论文。我不认为几行 C# 就能解决你的问题。
-
您应该阅读有关此主题的更多信息。没那么简单。
标签: c# motion-detection