史蒂夫与MATLAB图像处理

图像处理的概念、算法和MATLAB

动画PNG (APNG)文件

更新:看我20 - 12月- 2019年如何从MATLAB编写APNG文件。

你听说过动画PNG (APNG)文件吗?你有兴趣从MATLAB创建它们吗?他们应该是一个比GIF动画,可以在一个web浏览器。(如果你有一个观点,这样或那样的,请在评论中分享你的想法。)

下面是一个示例图像。你看到动画在您的web浏览器,或者你只看到一个静态图像?

公共领域的形象。信贷:Holger将

当我看着这张照片在我的Mac,它的使用Safari(版本11.1.2)和Chrome(62年版),而不是与MATLAB的浏览器。

我必须承认我从未听说过动画PNG文件直到上周,当我碰巧看到他们在MATLAB中提到的答案。一个MATLAB答案页面APNG已经讨论了这个问题,“我如何创建动画GIF图像在MATLAB ?”,Royi建议使用APNG优越替代GIF。

我很好奇,所以我开始研究它。

首先,一个小的背景。PNG图像格式成立于1990年代,它的目的是作为一个替代GIF。它是一种有效的和流行的无损图像文件格式,普遍支持浏览器和其他应用程序处理的图像文件。金宝app然而,GIF一个PNG没有的功能:动画。出于这个原因,PNG永远不会取代GIF用于网页,尽管有一些临时的法律限制使用GIF在1990年代有关。(搜索“gif unisys公司”如果你感兴趣。)

为GIF图像文件格式,有两个明显的弱点。首先,GIF图像最多只能有256个不同的颜色。gif动画,这个限制也适用于每一帧。第二个弱点是拯救一个图像与透明使用的256种颜色,每个图像像素的透明度是完全不透明或完全透明。这很难使图像与顺利平滑边缘,而且也会使工件时使用透明GIF静态图像或动画显示在一个不同的背景颜色比最初是用来渲染图像。

动画PNG格式的目的是为了克服这两个缺点。(也不同于GIF, PNG怎样发音没有争议)。

这里有一些关于APNG关键信息来源:

我明白了,这里有一些有趣的事情:

  • 一个APNG文件是有效的PNG文件。根据PNG格式规范,符合文件要求读者忽略文件块,他们不知道。因此,一个兼容的PNG读者不处理APNG应该显示第一帧图像文件。
  • 显然,社区负责维护PNG规范从未接受过APNG规范扩展或更新处理APNG参考图书馆(libpng)。
  • 尽管如此,APNG取得了惊人的广泛的浏览器支持。金宝app根据维基百科页面在撰写本文时,只有微软Internet Explorer和边缘是反对者。
  • 网上各种基准声称与APNG显示较小的文件大小是可以实现的,尽管PNG文件并不是局限于256种颜色。我还没有证实,但我相信这是因为文件大小改善可选APNG的帧间差分特征。
  • 有一个相当简单的食谱上的实现维基百科页面将任意数量的单个PNG文件组合成一个APNG文件。

最后,我明白了(误!)Mac上的预览应用程序能够将一个GIF动画文件转换为一个APNG文件。你可以做到这一点通过查看一个GIF动画文件预览,然后利用“出口”菜单将其保存为PNG。它与动画完整保存。

我的20 - 4月- 2017年发布的“八皇后问题”包括一个GIF动画。在这里作为一个APNG文件,创建的预览应用程序。(如果你正在看这篇文章在浏览器不支持APNG,你可能会看到一个空5 x5棋盘。)金宝app

在这种情况下,APNG文件的大小约2.5倍GIF文件,所以也许预览应用程序没有完全优化APNG输出。APNG文件也可能是较小的,如果直接从原始图形已经创建,因为GIF文件似乎使用棋盘方格中犹豫不决。

如果你有兴趣APNG文件,请在评论中让我们知道。




发表与MATLAB®R2018b

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。