首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#:用于比较两个字节数组(图像)的快速智能算法

C#:用于比较两个字节数组(图像)的快速智能算法
EN

Stack Overflow用户
提问于 2013-08-12 23:12:18
回答 2查看 1.4K关注 0票数 1

我正在WebCam映像上运行一个进程。只有在有重大变化的情况下,我才能唤醒这个过程。

  • 在图像中移动的东西
  • 灯亮
  • ..。

因此,我在C#中寻找一种快速有效的算法来比较相同大小的2字节kinect image

  • 我只需要一种“差别大小”
  • 我找到了一些运动检测算法,但是“太多了”
  • 我找到了一些异或算法,但可能太简单了?如果我能忽略一些小的变化,比如阳光、振动等等,那就太好了。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-13 00:21:18

  1. 将与先前图像不同的所有像素标记为“更改了”(基于阈值,即,如果像素变化很小--将其忽略为噪声)。
  2. 滤除噪声像素--也就是说,如果像素被标记为更改,但所有的邻居都没有--则将其视为噪声,而取消标记为更改的
  3. 计算图像上变化的像素数,并与阈值进行比较(您需要手动校准)
  4. 确保您操作的是灰度图像(而不是RGB)。即转换为YUV图像空间,仅在Y上进行比较。

这将是最简单和最快的算法-你只需要调优这两个阈值。

票数 1
EN

Stack Overflow用户

发布于 2013-08-12 23:25:43

一个概念: MPEG标准涉及运动检测。也许您可以监视MPEG流的带宽。如果没有运动,带宽就很低(除了关键帧(I帧))。如果有变化,任何移动都在进行,带宽就会增加。

所以你能做的就是抓取MPEG并把它输入MPEG编码器编解码器。然后,您只需查看编码的流。你也可以在一个范围内调整帧速率和带宽,再加上你决定编解码器输出流的阈值是什么,这意味着“运动”。

优点:非常通用,有可用的库,通常它们提供硬件加速(VGAs/GPU帮助JPEG en/解码和一些或更多MPEG)。这也相当标准。缺点:比异或运算量更大。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18198146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档