- 浏览: 1092361 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (30)
- Spring (14)
- iBATIS (6)
- Hibernate (13)
- JVM (5)
- JSON (10)
- Ajax (5)
- Flex (1)
- JavaScript (25)
- PowerDesigner (4)
- 项目管理 (7)
- 数据库 (29)
- 生活 (18)
- 软件应用 (21)
- 无线技术 (2)
- Linux (39)
- TOP开发学习 (2)
- JAVA工具小TIPS (2)
- Java通用 (52)
- XML (3)
- 软件测试 (29)
- Maven (10)
- Jquery (1)
- 正则表达式 (3)
- 应用服务器 (15)
- Android (5)
- linux 和windowx 下 tomcat 设置JVM (8)
- 应用服务器 连接池 (4)
- Linux 后台输出中文乱码 (1)
- Hadoop (28)
- python (2)
- Kafka (7)
- Storm (5)
- Elasticsearch (7)
- fddd (1)
最新评论
-
kafodaote:
Kafka分布式消息系统实战(与JavaScalaHadoop ...
分布式消息系统Kafka初步 -
小灯笼:
LoadRunner性能测试实战课程网盘地址:http://p ...
LoadRunner性能测试应用(八) -
成大大的:
Kafka分布式消息系统实 ...
分布式消息系统Kafka初步 -
hulalayaha2:
Loadrunner性能测试视频教程下载学习:http://p ...
LoadRunner性能测试应用(八) -
993042835:
搞好 谢谢
org.hibernate.exception.ConstraintViolationException: could not delete:
13. 简单说一下 JPG 文件的解码
-------------------------
解码程序先从 JPG 文件中读出采样系数, 这样就知道了 MCU 的大小, 算出整个图象
有几个 MCU. 解码程序再循环逐个对 MCU 解码, 一直到检查到 EOI 标记. 对于每个
MCU, 按正规的次序解出每个 DU, 然后组合, 转换成 (R,G,B) 就 OK 了
附:JPEG 文件格式
~~~~~~~~~~~~~~~~
- 文件头 (2 bytes): $ff, $d8 (SOI) (JPEG 文件标识)
- 任意数量的段 , 见后面
- 文件结束 (2 bytes): $ff, $d9 (EOI)
段的格式:
~~~~~~~~~
- header (4 bytes):
$ff 段标识
n 段的类型 (1 byte)
sh, sl 该段长度, 包括这两个字节, 但是不包括前面的 $ff 和 n.
注意: 长度不是 intel 次序, 而是 Motorola 的, 高字节在前,
低字节在后!
- 该段的内容, 最多 65533 字节
注意:
- 有一些无参数的段 (下面那些前面注明星号的)
这些段没有长度描述 (而且没有内容), 只有 $ff 和类型字节.
- 段之间无论有多少 $ff 都是合法的, 必须被忽略掉.
段的类型:
~~~~~~~~~
*TEM = $01 可以忽略掉
SOF0 = $c0 帧开始 (baseline JPEG), 细节附后
SOF1 = $c1 dito
SOF2 = $c2 通常不支持
SOF3 = $c3 通常不支持
SOF5 = $c5 通常不支持
SOF6 = $c6 通常不支持
SOF7 = $c7 通常不支持
SOF9 = $c9 arithmetic 编码(Huffman 的一种扩展算法), 通常不支持
SOF10 = $ca 通常不支持
SOF11 = $cb 通常不支持
SOF13 = $cd 通常不支持
SOF14 = $ce 通常不支持
SOF14 = $ce 通常不支持
SOF15 = $cf 通常不支持
DHT = $c4 定义 Huffman Table, 细节附后
JPG = $c8 未定义/保留 (引起解码错误)
DAC = $cc 定义 Arithmetic Table, 通常不支持
*RST0 = $d0 RSTn 用于 resync, 通常被忽略
*RST1 = $d1
*RST2 = $d2
*RST3 = $d3
*RST4 = $d4
*RST5 = $d5
*RST6 = $d6
*RST7 = $d7
SOI = $d8 图片开始
EOI = $d9 图片结束
SOS = $da 扫描行开始, 细节附后
DQT = $db 定义 Quantization Table, 细节附后
DNL = $dc 通常不支持, 忽略
DRI = $dd 定义重新开始间隔, 细节附后
DHP = $de 忽略 (跳过)
EXP = $df 忽略 (跳过)
APP0 = $e0 JFIF APP0 segment marker (细节略)
APP15 = $ef 忽略
JPG0 = $f0 忽略 (跳过)
JPG13 = $fd 忽略 (跳过)
COM = $fe 注释, 细节附后
其它的段类型都保留必须跳过
SOF0: Start Of Frame 0:
~~~~~~~~~~~~~~~~~~~~~~~
- $ff, $c0 (SOF0)
- 长度 (高字节, 低字节), 8+components*3 这里占两个字节
- 图片高度 (高字节, 低字节), 如果不支持 DNL 就必须 >0 这里占两个字节
- 图片宽度 (高字节, 低字节), 如果不支持 DNL 就必须 >0 这里占两个字节
也就是说,在FFC0后3个字节开始 , 两个字节为图片高度 ,再两个字节为图片宽度
- components 数量(1 byte), 灰度图是 1, YCbCr/YIQ 彩色图是 3, CMYK 彩色图
是 4
- 每个 component: 3 bytes
- component id (1 = Y, 2 = Cb, 3 = Cr, 4 = I, 5 = Q)
- 采样系数 (bit 0-3 vert., 4-7 hor.)
- quantization table 号
发表评论
-
java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
2013-05-10 16:10 824C:\Program Files (x86)\MyEc ... -
读取word pdf中的文字 用第三方组件 pdfbox 和 poi
2013-03-20 23:51 1011读取word pdf中的文字 用第三方组件 pdfbox 和 ... -
非常好使的FileUtil 类
2013-03-09 12:45 1008package com.zqk.util; imp ... -
eclipse 3.4.1 导入项目后 Target runtime Apache Tomcat v5.0 is not defi...
2012-05-29 09:27 1808下载最新版本eclipse3.4.1后,导入以前的项目,报 ... -
MyEclipse 6.5 序列号生成器
2011-06-10 09:47 1672import java.awt.event.ActionEve ... -
字节序 整形与字节数组转换
2010-12-15 13:43 2347Big Endian and Little Endian ... -
JPEG文件数据结构以及将位图保存为JPG的代码 转2
2010-12-02 13:31 2858三、实例分析 用系统自带的画图程序画一个32×24的红色方块 ... -
JPEG文件数据结构以及将位图保存为JPG的代码 转1
2010-12-02 13:30 3055JPEG文件数据结构以及将位图保存为JPG的代码一、简 ... -
Nginx+resin调优文档
2010-11-18 17:02 2307http://blog.liuts.com/post/204/ ... -
分析 Tomcat startup.bat 启动脚本
2010-11-03 14:53 3228分析 Tomcat startup.bat 启 ... -
Tomcat配置优化 转
2010-11-03 14:51 10731.精简Tomcat和配置文件1.1 .删除不需要的管理应用和 ... -
URLConnection 读取字节流
2010-10-27 13:15 32692008-11-08 山寨Wget实现又惹事了 h ... -
字节到整形的转换
2010-10-27 12:47 1428public byte[] intToByte(int i) ... -
Gif 文件格式分析
2010-10-27 11:45 1068GIF文档ˉˉˉˉˉˉ 1.概述~~~~~~~~ ... -
CSS制作多种链接样式
2010-10-15 11:54 1122多种链接样式制作方法 ... -
虚拟主机上给一个网卡设置多个IP地址
2010-10-13 17:22 1892配置虚拟主机时有一种方式是在一块网卡上绑定多个IP,操作如下: ... -
linux下一个网卡配置多个IP
2010-10-13 17:21 967文本控制台下面有netconfig,还有ifconfig工具, ... -
[转载]linux中sar的详细使用
2010-10-13 17:06 886在使用UNIX操作系统的过程中,我们常常 ... -
Linux中sar命令
2010-10-13 17:05 996Linux中sar命令 sar这东 ... -
Resin 3 pro高并发,响应性与稳定性方案(转)
2010-10-13 12:59 3609Resin 3 pro高并发,响应性与稳定性方案(转) ...
相关推荐
在分析JPG文件时,可以通过读取和解析这些标记来理解文件的内容和结构。例如,通过检查SOF标记可以获取图像的宽度和高度,通过量化表可以了解压缩的质量,而通过图像数据可以重建图像。 在处理或操作JPG文件时,...
本程序是专门针对这种格式设计的,用于将JPEG编码的图像文件解码回其原始的像素数据。 **JPEG编码原理** JPEG编码主要基于离散余弦变换(DCT)和量化技术。首先,图像被分割成8x8的宏块,然后每个宏块进行DCT,将...
总之,理解和实现C++中获取JPEG和PNG图像宽度和高度的过程,需要深入理解这两种图像格式的内部结构,同时也要注意处理各种可能的边缘情况,确保代码的稳定性和兼容性。通过使用"PictureWidthHeight"代码库,开发者...
总结来说,使用ARM处理器解码JPG文件并转换为BMP文件是一项涉及图像处理、编解码理论、文件格式和嵌入式系统优化技术的综合任务。这个过程需要理解图像压缩原理,掌握C编程和ARM架构特性,以及对BMP和JPG文件格式的...
首先,BMP(Bitmap)文件格式是一种常见的无损图像文件格式,它存储的是像素数据,包括颜色深度、图像宽度、高度等信息。在STM32上实现BMP图片的解码,需要理解其文件结构,读取头信息,并根据颜色位深将数据转换为...
标题 "C语言解码JPG图片源代码" 提供了一个关于使用C语言处理JPEG(Joint Photographic Experts Group)图像格式的编程主题。JPEG是一种广泛使用的有损图像压缩标准,尤其适用于照片和其他高质量图像。源代码通常...
而JPG到BMP的转换则需要解码JPG文件,恢复像素数据,并按照BMP格式重新组织成文件。 由于JPG的压缩特性,转换过程中可能会引入损失,尤其是在从JPG转为BMP时,由于原始的压缩信息丢失,无法完全恢复到原始图像。...
在描述中提到的软件工具,提供了这样的功能,允许用户查看并保存这些信息为TXT文件,便于进一步分析和记录。 通过这个工具,你可以检查JPG文件是否符合标准,是否存在损坏,或者查找可能的篡改痕迹。例如,如果你...
Jpg文件格式遵循特定的编码规则,包括一个文件头,定义了图像的宽度、高度、颜色空间等信息,接着是经过压缩的图像数据,最后可能还有一些附加的元数据。 转换工具在这一过程中扮演关键角色,它需要正确地解读和...
在C语言中实现JPEG图片的解码是一项基础且重要的任务,对于理解和优化图像处理软件有着重要意义。本文将深入探讨JPEG解码的基本原理以及使用C语言进行实现的关键步骤。 JPEG格式采用离散余弦变换(DCT)来对图像...
信息头包含了图像的宽度、高度、位深度和压缩方式等;调色板用于索引图像;数据部分按照从左到右,从下到上的顺序存储像素。 - **BITMAPFILEHEADER** 结构体包含文件类型标识(bfType)、文件大小(bfSize)、保留...
- 写入JPG文件:最后,按照JPG文件格式的规范,构建文件头和信息头,然后写入量化后的系数,形成JPG文件。 4. **VC++编程**: 在VC++中,可以使用GDI+库来处理图像,该库提供了读取BMP和写入JPG的功能。或者,...
6. **写入JPG文件**:最后,将编码后的数据写入JPG文件的头信息和主体部分,形成一个完整的JPG文件。 在VC++ 6.0环境下,程序可能使用标准I/O或文件流来操作文件,以及位运算和数组操作来处理图像数据。对于初学者...
首先,我们来理解BMP图片格式。BMP是一种无损的位图图像格式,由微软公司开发,广泛用于Windows和OS/2操作系统。BMP文件头包含图像的宽度、高度、颜色深度等信息,而图像数据按照从左到右、从下到上的顺序存储。这种...
在图像处理领域,JPEG、JPEG(也写作JPG)和BMP是三种常见的位图文件格式,每种格式都有其特定的应用场景和编码方式。本文将深入探讨如何使用C++在Visual Studio 2013环境下,从JPEG图像转换为BMP图像,涉及的主要...
你需要创建符合BMP规范的文件头,包括位图宽度、高度、位深度等信息。 4. **转换图像数据**:由于BMP格式通常使用RGB色彩模型,这一步通常是透明的,因为JPEG解码后已经是以RGB表示。如果需要特定的色彩深度(如24...
16进制转JPG图片工具是专为处理这种特定需求而设计的软件,它允许用户将从单片机或其他数据采集设备获取的16进制代码转换成我们常见的JPEG(JPG)图片格式。这种转换过程涉及到数字图像处理、二进制数据解析以及图像...
总的来说,这个易语言BMP图片文件头显示工具是一个实用的编程示例,它涵盖了文件读取、数据转换、位操作以及图像文件解析等多个方面,对于学习易语言和深入理解BMP文件格式的人来说,是一个非常有价值的资源。...
在本示例"ffmpeg视频生成jpg图片_1"中,我们将探讨如何利用FFmpeg从视频文件中提取静态图像并保存为JPEG(jpg)格式的图片。 首先,FFmpeg的基本命令结构是`ffmpeg -i 输入文件 -vf "滤镜表达式" -o 输出文件`。在...