我正在使用 Foscam FI8910W 网络摄像机在恒定光照条件下查看静态场景。当我拉回一个帧抓取时,它的大小约为 35 KB。我可以一遍又一遍地这样做,它总是在 35 KB 左右,但由于电子图像捕捉固有的各种噪声而有所波动。这种随机波动最多只有 1 KB 的量级。
大约每 2500 帧,一帧的图像大小突然达到 70 KB 的量级。如果您在相机预热时考虑热噪声,则不会逐渐向上蠕动。1 帧将是 70 KB(ish),然后它们返回到 35 KB 大小的帧。
这种情况以前发生过,另一次跑步是在看不同的场景。当时常见的文件大小为 39 KB,在 10,000 帧中,有 4 帧约为 77 KB。图像大小直方图如下所示:-
在你问之前,我已经设法保存了其中一帧,它看起来与所有其他帧一模一样,除了预期的噪音波动。它们的独特颜色数量大致相同,约为 23,000 种。所以它不是一只飞蛾随机降落在镜头上一帧然后飞走。为了完整起见,我做了另一组图像,这是一个典型的图像示例(反射是红外照明器):-
这是异常图像:-
你可以看到没有区别。原谅河马。我对 JPEG 算法相当熟悉,除了 Foscam 实现的编码错误之外,我看不出这是如何发生的。但是,在某些 JPEG 变换函数(如离散余弦变换或量化)中是否存在固有的混乱?从统计上看,人们会期望文件大小呈正态分布,这就是我看到的大约 39 KB。然后有几个 77 KB 的异常值。所以它看起来不是随机的。
这是在 CS 中而不是在硬件中的原因是我在问这可能是与 JPEG 编码算法有关的编程代码现象吗?似乎不太可能,但异常是随机且不常见的,并且没有人与设备交互。JPEG编码稳定吗?
您可能不熟悉这种现象的原因是,由于图像看起来相同,没有人真正关注文件大小。文件大小对我来说至关重要,所以我注意到了。大约每 2500 帧怎么会发生这种情况?
补充:-
发布这些图片是行不通的,因为 imgur 软件会重新采样上传的文件。因此,当我发布 37K 和 73K 文件时,imgur 已将两者重新采样为 35K。这似乎是一个 Stack Exchange 问题,对于处理图像处理、数据压缩和分析的站点而言,这似乎具有讽刺意味。
这是我对图像的处理。这是正常图像和异常图像之间的标准化差异。图像如您所料,在高频区域有 JPEG 噪声。这是一个 RGB 图像,即使它看起来是单色的。颜色立方体中有 8000 种独特的颜色(代表噪声)。
补充2:-
根据要求,可以从样本帧中下载 4 个正常帧和 2 个异常帧。这是不同的场景,但异常行为仍然发生,所以这证明它是一致的。