电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>常用软件>图形图像>实例分析PNG的故障原因

实例分析PNG的故障原因

2017-09-30 | rar | 0.9 MB | 次下载 | 2积分

资料介绍

  PNG是一种图像格式,始于1995年,作为一种颇受欢迎的图像格式,PNG至今仍十分盛行。一般而言,PNG以无损失压缩或处理透明像素的能力为人所知。然而,我并不想从泛泛的角度去看待不同的图像格式,而是尝着用不同的方式让它们发生故障,你有没有想过,PNG发生故障时是什么效果呢?

  校验和(Checksum)

  让我们首先来看看校验和(Checksum)系统中的CRC32算法。这一算法通常用于确认受损图像,当它侦测到图像文件受损时,不会在一般的图片阅读器上显现出来。因此,若想使PNG发生故障,用诸如文本编辑器或二进制编辑器重写部分二进制数据的简单方法是行不通的。换句话说,“黑掉”PNG之难,难于上青天。

  因此,为了能顺利“黑掉”PNG,我们需要根据PNG的格式规范(PNG Specification)来做。这意味着,解码CRC32算法后要对数据进行重写和重新计算,并将其绑定到已经编辑的数据上。

  状态(State)

  接下来,我们看看PNG的转码过程。表1简要地显示了PNG编码流工作流程。包括四步:原始数据、过滤后数据、压缩后数据、格式化的PNG。

  实例分析PNG的故障原因

  表1 PNG编码流

  理论上来说,上述四个步骤都可以成为“下手”的目标。然而,从“原始数据”下手跟从BMP下手一样,技术上而言,并不能把它称之为“PNG故障”。而以最后一步“格式化的PNG”为目标也行不通,原因在于上文提到的校验和系统的工作原理,因此无法产生故障。

  现在,能供我们下手的就只有“过滤后数据”或“压缩后数据”两个步骤,只要方法正确,就可以使PNG故障形成。当我攻击“过滤后数据”时,产生的效果非常明显,故障元素好像花瓣一样弥漫了整张图像,过滤器之间的差异在“过滤后数据”受到攻击时变得尤为明显。另一方面,“压缩后数据”故障受到了它们自身的压缩算法的影响(Deflate压缩),因此显示出了一种与雪花噪点类似的图片效果。

  当然,在转码过程之外,也有其他的过程能影响PNG故障的图案,例如透明像素和interlace。

  五重过滤(Five filters

  决定PNG故障图案最重要的决定因素是过滤的过程,这一过程通过某种算法将每一层扫描线的为压缩像素数据进行转换,从而提升压缩效率。过滤包括四种算法和五种过滤类型,分别为Sub、Up、Average、Paeth和None(None为无过滤)。PNG图像通常在使用最适当的过滤类型对每一层扫描线进行过滤后才开始压缩,因此,在PNG图像生成之后,五种压缩会合为一体。

  这五种过滤通常只是促进压缩效率的提升,因此无论使用哪一层过滤,输出结果都一样。然而,当过滤后的数据受到损坏后,输出结果会显示出明显的差异。当一个图像经过优化,并同时具备上述五种过滤效果后,就很难辨别出不同的过滤效果。然而当同一个单一的过滤应用在每一条扫描线上,图像出现故障时,差异就很明显了。

  下面我会展示每一种过滤的效果差异,当我们仔细留意不同的效果时,会发觉哪一种过滤会让PNG故障的部分产生哪种美丽的效果。是的,这些图像的确很美丽。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1491次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  95次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  11次下载  |  免费
  11. 6100W短波放大电路图
  12. 0.05 MB  |  4次下载  |  3 积分
  13. 7基于单片机和 SG3525的程控开关电源设计
  14. 0.23 MB  |  4次下载  |  免费
  15. 8基于AT89C2051/4051单片机编程器的实验
  16. 0.11 MB  |  4次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537793次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费