自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

红孩儿编程大师

这里为您成为编程大师提供捷径

  • 博客(15)
  • 收藏
  • 关注

原创 png图像格式规范 译者序言

png图像格式规范 译者序言 缘起为了在红孩儿编辑器中,能够显示出png格式的图像,需要写出png图像的解码器,为此,研究了png文件格式的结构。为了能够得到来自于源头的信息,阅读了Png的英语版规范。对于图像开发来说,这规范是重要的开发指南,特译出来,以飨读者。 译者的目标第一,根据规范,实现png的编码器和解码器。第二,可以仿照Png的规范,设计自己的图像格式。 ...

2018-12-22 11:21:22 365 4

原创 哈夫曼的编码与解码逻辑过程

哈夫曼的编码与解码逻辑过程 编码有三个大的步骤1统计原文件的符号的出现的频率,按照频率进行升序排列。  频率相同的,按照被编码的符号的升序排列。  构造哈夫曼编码的二叉树。 合并最小值的两项,用新合并后的集合替换原有的两项,新项的频率等于原来两项的和。  继续合并,直到只剩下一项为止。(因为需要频繁地删除结点,并且把新增加的结点插入到指定的位置上,来保证一个有序的集合。  ...

2018-12-16 20:20:03 3045 1

原创 码字的长度转换成哈夫曼编码的码表的逻辑过程

码字的长度转换成哈夫曼编码的码表的逻辑过程 本文介绍的内容是zip压缩算法中的一个环节。  众所周知的是,哈夫曼编码的码表是用于哈夫曼编码与解码时使用的。哈夫曼编码的码表在构造它时由于合并的选择可能有多个,所以码表是不具有唯一性的。deflate压缩中,对哈夫曼的码表的构造添加了约束。树的同一深度时,叶子比非叶子结点靠左,同是叶子结点时,按所代表的字符的升序从左到右排序。这实现了码...

2018-12-15 20:08:44 1855

原创 游程编码的解码逻辑

游程编码的解码逻辑第一个字节允许值0到15,17,18。是0到15,记录目标值,计数为1。是16,报错。是17,18,目标值为0。暂时不计数。第二字节到倒数第二字节。是0到15,分两种情况,一种是计数器,另一种是普通数值,判定条件是前一个字节的数值大于15是计数器。否则是普通数值。如果是计数器,累加计数值如果是普通数值,与之前的数值对比,如果相同,累加计数,如果不同,输出之前的序列...

2018-12-14 17:02:03 697

翻译 png图像格式规范 第十一章数据块的规范 11.1-11.2

第十一章 数据块的规范 11.1 介绍PNG数据流由一个PNG的签名加一系列的数据块组成。每个数据块有一个数据块类型指定它的功能。这一章中定义了在这个国际标准中标准化的PNG的数据块的类型。PNG的数据流的结构在第五章中已经定义了。它也定义了这些数据块可能出现的顺序。对于编码器的细节见12.11,对于解码器的细节见13.5。 11.2  关键性数据块      11.2....

2018-12-12 20:10:38 343

翻译 png图像格式规范 第七章 把一个PNG图像编码成一个PNG数据流

第七章  把一个PNG图像编码成一个PNG的数据流 7.1 整数与字节序所有的长度超过一个字节的整数都应该使用网络字节序(见图7.1所示)最重要的字节(也就是最高位)首先传输,然后是按重要性的降序进行传输(对于两个字节的整数是高位字节和低位字节,对于四个字节的整数是最高位字节,b2,b1,最低位字节)。一个字节中的最高位是第7位,它值是128,最低位是第0位,它的值是1。如果没有...

2018-12-11 22:11:39 1041

翻译 png图像格式规范 第六章

第六章 引用图像到PNG图像的转换 6.1 颜色类型和值正如在4.4中的解释,PNG图像有五种类型。每种类型对应的是一个颜色类型。它是如下的值的和。1(调色板使用),2(真彩色使用),4(阿尔法使用)。灰度级和真彩色图像可以有一个显式的阿尔法通道。PNG图像类型和对应的颜色类型列在了如下的表格6.1中。 表格6.1——————————————PNG图像类型        ...

2018-12-10 20:41:32 392

翻译 png图像格式规范 第五章 数据流的结构

第五章 数据流的结构5.1介绍这部分定义了PNG的签名和数据块的基本属性。数据块类型在第十一章中单独讨论。 5.2PNG签名一个PNG数据流的前八个字节总是如下的十进制的数据:137 80 78 71 13 10 26 10这个签名显示了这个数据流的剩余部分包括了一个单独的PNG图像。包括了一系列的数据块,以图像头数据块开始和以图像尾数据块结束。 5.3数据块布局每一...

2018-12-10 18:59:07 726

翻译 png 图像格式规范 第四章 概念 4.6-4.9

4.6 附加信息附加信息可能被关联到一个图像上。解码器可以忽略一些或者是所有的附加信息。附加信息提供的类型被描述为如下的表4.1——————————————————————————————————————|信息类型               |                描述                                                       ...

2018-12-09 11:16:27 283

翻译 png图像格式规范 第四章 概念 4.5 编码流程

4.5  编码PNG图像4.5.1  介绍在图4.7中给出了编码一个PNG图像的过程的概念模型。步骤涉及到在PNG图像中的索引或者是像素的数组的操作。调色板和阿尔法表没有采用这种方式进行编码。 a. 传递抽取 为了允许渐近性的显示,PNG图像的像素被安排形成一些更小的图像,被叫做小图像块或者是传递。b. 扫描行序列化  图像被序列化一次一个扫描行。像素被安排从左到右,扫描行从上到下...

2018-12-07 22:28:06 502

翻译 png图像格式规范 第四章概念 4.3-4.4

4.3引用的图像到PNG图像的转换 4.3.1介绍为了创建被编码的PNG图像,有一系列的转换被应用到引用的图像上。(见图4.3)转换被应用如下的序列,方括号内的意味着它是可选的项。 【阿尔法分离】索引化或者是(【RGB合并】【阿尔法收紧】)  采样深度缩放 当每个像素或者是完全不透明的,或者是完全透明的,阿尔法分离,阿尔法收紧和索引化转换可能引起恢复的引用图像与原...

2018-12-06 21:08:22 293

翻译 png图像格式规范 第四章 概念 4.1-4.2

第四章 概念 4.1图像这个国际标准规定了PNG数据流,对PNG编码器的一些要求,编码器是生成PNG数据流的,解码器是解释PNG的数据流的,PNG的编辑器是用来把一个PNG数据流转换成另一个数据流的。它没有指定一个应用与一个PNG的编码器或者是解码器或者是编辑器的任何一个的接口。一个图像对于编码器的表示形式,对于解码器的传递的形式都没有被指定。如下的四种图像是被区分的。 ...

2018-12-05 19:00:38 416

翻译 png图像格式规范 第十章 压缩

第十章  压缩 10.1   压缩方法0在这个国际标准中,只有压缩方法0被定义。压缩方法的其它值被保留给未来的标准化。 zlib  压缩方法/标识代码    1个字节附加的标识/检查位            1个字节压缩的数据块                     n 个字节检查值                               4个字节 在这个格式...

2018-12-03 20:21:33 499

翻译 png图像格式的规范 第九章 过滤

第九章  过滤 9.1 过滤方法和过滤类型过滤对PNG图像进行转换是为了增强压缩的目标。PNG允许一些过滤方法。在一个交织的图像中,所有的降阶的图像应用使用一个单一的过滤方法。在这个国际标准中仅定义了方法0。其它的过滤方法被保留给未来的标准化(见4.9扩展与注册)过滤方法0提供了五个过滤类型的集合,在每个降阶的图像中的单独的扫描行可以使用不同的过滤类型。 PNG强调在一个...

2018-12-02 21:23:20 1191

翻译 png图像格式的规范 第八章 交织与传递抽取

第八章  交织和传递抽取 8.1  介绍传递抽取(见图4.8)分离一个PNG图像成为一个被降阶的图像(一个隔行的PNG图像)的序列,第一个图像定义一个粗糙的视图,接下来的图像改善了这个粗糙的视图,直到最后的图像完成了这个图像。通过使用解码器,这允许隔行的PNG图像的渐进性的显示,当它们被在多个方向上同时的进行显示时,这允许图像有了逐渐增强的感觉。在平均来看,交织稍微增大了数据流的...

2018-12-01 19:08:19 284

matlab安装教程在windows操作系统下

matlab安装图解详细教程 ,操作系统为windows10 MATLAB 版本2020 22.1.0 软件分类:编程工具大小:4.47 GB时间:2023-08-31 软件介绍:MATLAB是mathworks官网发布的一款功能强大、性能稳定的商业数学软件

2024-04-09

数据分析领域-Python编程语言-NumPy数据处理-参考资料

这是专门适用于大学生的编程语言的代码库的使用说明,用于线性代数的 学习与理解,大学生计算机竞赛,Python的学习与使用,数据处理等

2024-03-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除