- 浏览: 1088599 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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:
三、实例分析
用系统自带的画图程序画一个32×24的红色方块,另存为JPG文件,这个文件的全部数据如下:
0000: FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 00 60
0010: 00 60 00 00 FF DB 00 43 00 08 06 06 07 06 05 08
0020: 07 07 07 09 09 08 0A 0C 14 0D 0C 0B 0B 0C 19 12
0030: 13 0F 14 1D 1A 1F 1E 1D 1A 1C 1C 20 24 2E 27 20
0040: 22 2C 23 1C 1C 28 37 29 2C 30 31 34 34 34 1F 27
0050: 39 3D 38 32 3C 2E 33 34 32 FF DB 00 43 01 09 09
0060: 09 0C 0B 0C 18 0D 0D 18 32 21 1C 21 32 32 32 32
0070: 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
0080: 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
0090: 32 32 32 32 32 32 32 32 32 32 32 32 32 32 FF C0
00A0: 00 11 08 00 18 00 20 03 01 22 00 02 11 01 03 11
00B0: 01 FF C4 00 1F 00 00 01 05 01 01 01 01 01 01 00
00C0: 00 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09
00D0: 0A 0B FF C4 00 B5 10 00 02 01 03 03 02 04 03 05
00E0: 05 04 04 00 00 01 7D 01 02 03 00 04 11 05 12 21
00F0: 31 41 06 13 51 61 07 22 71 14 32 81 91 A1 08 23
0100: 42 B1 C1 15 52 D1 F0 24 33 62 72 82 09 0A 16 17
0110: 18 19 1A 25 26 27 28 29 2A 34 35 36 37 38 39 3A
0120: 43 44 45 46 47 48 49 4A 53 54 55 56 57 58 59 5A
0130: 63 64 65 66 67 68 69 6A 73 74 75 76 77 78 79 7A
0140: 83 84 85 86 87 88 89 8A 92 93 94 95 96 97 98 99
0150: 9A A2 A3 A4 A5 A6 A7 A8 A9 AA B2 B3 B4 B5 B6 B7
0160: B8 B9 BA C2 C3 C4 C5 C6 C7 C8 C9 CA D2 D3 D4 D5
0170: D6 D7 D8 D9 DA E1 E2 E3 E4 E5 E6 E7 E8 E9 EA F1
0180: F2 F3 F4 F5 F6 F7 F8 F9 FA FF C4 00 1F 01 00 03
0190: 01 01 01 01 01 01 01 01 01 00 00 00 00 00 00 01
01A0: 02 03 04 05 06 07 08 09 0A 0B FF C4 00 B5 11 00
01B0: 02 01 02 04 04 03 04 07 05 04 04 00 01 02 77 00
01C0: 01 02 03 11 04 05 21 31 06 12 41 51 07 61 71 13
01D0: 22 32 81 08 14 42 91 A1 B1 C1 09 23 33 52 F0 15
01E0: 62 72 D1 0A 16 24 34 E1 25 F1 17 18 19 1A 26 27
01F0: 28 29 2A 35 36 37 38 39 3A 43 44 45 46 47 48 49
0200: 4A 53 54 55 56 57 58 59 5A 63 64 65 66 67 68 69
0210: 6A 73 74 75 76 77 78 79 7A 82 83 84 85 86 87 88
0220: 89 8A 92 93 94 95 96 97 98 99 9A A2 A3 A4 A5 A6
0230: A7 A8 A9 AA B2 B3 B4 B5 B6 B7 B8 B9 BA C2 C3 C4
0240: C5 C6 C7 C8 C9 CA D2 D3 D4 D5 D6 D7 D8 D9 DA E2
0250: E3 E4 E5 E6 E7 E8 E9 EA F2 F3 F4 F5 F6 F7 F8 F9
0260: FA FF DA 00 0C 03 01 00 02 11 03 11 00 3F 00 E2
0270: E8 A2 8A F9 93 F7 10 A2 8A 28 00 A2 8A 28 00 A2
0280: 8A 28 03 FF D9
分析:
0000-0001:FF D8(文件头)
0002-0013:APP0段,其中:
0002-0003:FF E0(段标记)
0004-0005:00 10(段长度=16字节)
0006-000A:4A 46 49 46 00(“JFIF”的ASCII码)
000B-000C:01 01(主次版本号=1.01)
000D :01(密度单位为 点数/英寸)
000E-0011:00 60 00 60(水平和垂直的密度均为每英寸96像素)
0012-0013:00 00(没有缩略图)
0014-0058:DQT段,其中:
0014-0015:FF DB(段标记)
0016-0017:00 43(段长度=67字节)
0018 :00(QT号=0,QT精度=8bit)
0019-0058:QT
0059-009D:DQT段,其中:
0059-005A:FF DB(段标记)
005B-005C:00 43(段长度=67字节)
005D :01(QT号=1,QT精度=8bit)
005E-009D:QT
009E-00B0:SOF0段,其中:
009E-009F:FF C0(段标记)
00A0-00A1:00 11(段长度=17字节)
00A2 :08(样本精度=8bit)
00A3-00A6:00 18 00 20(图像高=24,图像宽=32)
00A7 :03(组件数量=3,YCbCr彩色图)
00A8 :01(ID号=1,这是亮度Y组件)
00A9 :22(化为二进制=00100010,表明垂直和水平采样系数均=2)
00AA :00(使用QT号=0的量化表)
00AB :02(ID号=2,这是色度Cb组件)
00AC :11(化为二进制=00010001,表明垂直和水平采样系数均=1)
00AD :01(使用QT号=1的量化表)
00AE :03(ID号=3,这是色度Cr组件)
00AF :11(化为二进制=00010001,表明垂直和水平采样系数均=1)
00B0 :01(使用QT号=1的量化表)
00B1-00D1:DHT段,其中:
00B1-00B2:FF C4(段标记)
00B3-00B4:00 1F(段长度=31字节)
00B5 :00(HT号=0,DC表)
00B6-00C5:这16个数字之和=12,说明下面的HT值表的长度=12字节)
00C6-00D1:HT值表
00D2-0188:DHT段,这是HT号=0的AC表,参照上面分析
0189-01A9:DHT段,这是HT号=1的DC表,参照上面分析
01AA-0260:DHT段,这是HT号=1的AC表,参照上面分析
0261-026E:SOS段,其中:
0261-0262:FF DA(段标记)
0263-0264:00 0C(段长度=12字节)
0265 :03(组件数量=3)
0266-0267:01 00(组件ID=1,Y组件,使用HT表号=0的AC表)
0268-0269:02 11(组件ID=2,Cb组件,使用HT表号=1的DC表)
026A-026B:03 11(组件ID=3,Cr组件,使用HT表号=1的DC表)
026C-026E:00 3F 00(几乎每个JPG文件中这3个字节的值都相同,但用途不明)
026F-0282:图像压缩数据
0283-0284:FF D9(文件尾)
第3楼
|
发表评论
-
java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
2013-05-10 16:10 817C:\Program Files (x86)\MyEc ... -
读取word pdf中的文字 用第三方组件 pdfbox 和 poi
2013-03-20 23:51 1002读取word pdf中的文字 用第三方组件 pdfbox 和 ... -
非常好使的FileUtil 类
2013-03-09 12:45 1001package com.zqk.util; imp ... -
eclipse 3.4.1 导入项目后 Target runtime Apache Tomcat v5.0 is not defi...
2012-05-29 09:27 1800下载最新版本eclipse3.4.1后,导入以前的项目,报 ... -
MyEclipse 6.5 序列号生成器
2011-06-10 09:47 1664import java.awt.event.ActionEve ... -
字节序 整形与字节数组转换
2010-12-15 13:43 2340Big Endian and Little Endian ... -
JPEG文件数据结构以及将位图保存为JPG的代码 转1
2010-12-02 13:30 3046JPEG文件数据结构以及将位图保存为JPG的代码一、简 ... -
Nginx+resin调优文档
2010-11-18 17:02 2299http://blog.liuts.com/post/204/ ... -
分析 Tomcat startup.bat 启动脚本
2010-11-03 14:53 3219分析 Tomcat startup.bat 启 ... -
Tomcat配置优化 转
2010-11-03 14:51 10661.精简Tomcat和配置文件1.1 .删除不需要的管理应用和 ... -
URLConnection 读取字节流
2010-10-27 13:15 32572008-11-08 山寨Wget实现又惹事了 h ... -
字节到整形的转换
2010-10-27 12:47 1418public byte[] intToByte(int i) ... -
Gif 文件格式分析
2010-10-27 11:45 1057GIF文档ˉˉˉˉˉˉ 1.概述~~~~~~~~ ... -
JPG文件格式解码图片高度和宽度的分析
2010-10-27 10:34 984413. 简单说一下 JPG 文件的解码 ---------- ... -
CSS制作多种链接样式
2010-10-15 11:54 1115多种链接样式制作方法 ... -
虚拟主机上给一个网卡设置多个IP地址
2010-10-13 17:22 1879配置虚拟主机时有一种方式是在一块网卡上绑定多个IP,操作如下: ... -
linux下一个网卡配置多个IP
2010-10-13 17:21 958文本控制台下面有netconfig,还有ifconfig工具, ... -
[转载]linux中sar的详细使用
2010-10-13 17:06 880在使用UNIX操作系统的过程中,我们常常 ... -
Linux中sar命令
2010-10-13 17:05 988Linux中sar命令 sar这东 ... -
Resin 3 pro高并发,响应性与稳定性方案(转)
2010-10-13 12:59 3599Resin 3 pro高并发,响应性与稳定性方案(转) ...
相关推荐
这个过程涉及到读取BMP文件的像素数据,执行上述的JPEG压缩步骤,然后按照JPEG数据结构将编码后的数据写入文件。 总结来说,JPEG是一种高效但有损的图像压缩格式,通过颜色转换、DCT、量化和编码等步骤实现压缩,其...
【JPEG文件格式详解】 JPEG(Joint Photographic Experts ...理解JPEG文件的数据结构和压缩原理对于处理和优化JPEG图像至关重要,无论是开发图像处理软件还是进行图像压缩算法的研究,这些基础知识都是必不可少的。
首先,创建一个`CImage`对象,然后使用OpenCV的`imwrite`将`Mat`保存到临时文件,再读取到`CImage`,最后将`CImage`转换为`CBitmap`: ```cpp CImage image; cv::imwrite("temp.jpg", matImage); // 将Mat写入...
在某些场景下,例如网络传输或存储空间有限的情况下,将位图文件转换为JPEG格式是很有必要的。本文将详细介绍如何实现这一转换过程,并探讨其中涉及的关键技术和步骤。 首先,我们需要理解位图文件的结构。位图文件...
在图像处理领域,JPEG、JPEG(也写作JPG)和BMP是三种常见的位图文件格式,每种格式都有其特定的应用场景和编码方式。本文将深入探讨如何使用C++在Visual Studio 2013环境下,从JPEG图像转换为BMP图像,涉及的主要...
2. **数据解码**:读取BMP图像的像素数据,由于BMP通常是RGB格式,你需要将这些像素数据解码为可以输入到JPEG编码器的格式。JpegLib通常期望YCbCr颜色空间的数据,所以可能需要进行颜色空间转换。 3. **创建JPEG编...
`jpg2bmp.c`源代码中,首先会包含相关的库文件,比如`stdio.h`用于文件操作,`jpeglib.h`用于处理JPEG数据。然后,定义处理函数,如`read_jpg()`用于读取JPEG数据,`write_bmp()`用于创建并写入BMP文件。 在`read_...
9. **JPG文件数据结构**:JPEG(Joint Photographic Experts Group)是一种常见的有损压缩图像格式。VB6代码可以读取JPEG文件的头部信息,获取图像的宽度和高度,这对于显示和处理图像非常有用。 10. **BMP文件数据...
在编码过程中,图像被分割成8x8的块,每个块进行DCT,然后量化以减少数据量,最后通过霍夫曼编码或算术编码进行熵编码,形成最终的JPG文件。 在这个源代码工程中,开发者可能还考虑了色彩空间的转换,因为BMP通常...
BMP格式是一种位图文件格式,其数据结构相对简单,包含图像宽度、高度、颜色深度和实际像素数据。在C语言中,我们可以直接操作这些数据来读取和写入BMP文件。转换过程首先需要读取BMP文件的头部信息,解析出图像的...
2. **解码JPEG数据**:JPEG数据是经过JPEG压缩算法压缩的,需要通过库函数(如`jpeg_start_decompress`和`jpeg_read_scanlines`)解码,还原为RGB像素数组。 3. **组织BMP文件结构**:BMP文件格式的结构与JPEG不同...
标题“BMP文件转换为JPG文件的源代码”提示我们,这是一个关于如何使用VC++编程语言将BMP图像转换为JPG格式的源代码示例。VC++是Microsoft开发的一个集成开发环境,用于编写基于Windows操作系统的应用程序,包括...
标题中的“Jpeg_Decompress.rar”是一个压缩文件,其中包含了一个名为“Jpeg_Decompress.c”的C源代码文件,这个源代码是用于处理JPEG图像格式与BMP图像格式转换的。JPEG(Joint Photographic Experts Group)是一种...
在`rgb2bmp.cpp`文件中,可能会有处理RGB图像到BMP转换的代码,因为BMP格式通常需要将像素数据从RGB转换为特定的内部格式。这个过程与上面的转换略有不同,主要是编码步骤,但基本的图像处理流程是相似的。 `__main...
2. **解析JPEG数据**:使用MFC中的CImage类或其他第三方库,如FreeImage,来解析JPEG文件,提取图像数据。这一步包括了解码JPEG的压缩数据,并将其转化为RGB或者其他颜色空间的像素数组。 3. **生成PRN指令**:创建...
2. **解压缩JPEG数据**:JPEG是压缩格式,我们需要将其解压缩为原始的RGB像素数据。这个过程通常涉及反量化和IDCT(逆离散余弦变换)。 3. **创建BMP头信息**:BMP文件开头有一个包含图像大小、位深度、偏移量等...
2. **解码JPEG数据**:库会自动对JPEG数据进行解码,将其从压缩的YCbCr色彩空间转换回RGB色彩空间。 3. **创建BMP文件头**:BMP文件格式有一套固定的文件结构,包括文件头、位图信息头以及像素数据。你需要创建符合...
BMP(Bitmap)是微软操作系统中的位图图像格式,它通常保存未经压缩的像素数据,因此文件体积较大。JPG(JPEG)则是一种广泛使用的有损压缩图像格式,适合存储照片或色彩丰富的图像,其压缩算法能够显著减小文件大小...
在给定的“BMP转JPG的vc源代码”中,我们可以深入理解如何在C++环境下,利用Visual C++(简称VC)开发工具将位图(BMP)文件转换为JPEG(JPG)格式的文件。BMP和JPG是两种常见的图像格式,各有特点:BMP是无损的,...
5. **写入JPG文件**:将编码后的数据按照JPG文件格式的规范组织起来,写入新的JPG文件。JPG文件的头部包含一些元数据,比如图像尺寸、颜色空间、质量设置等。 在提供的`Bmptojpg`源代码中,这些步骤应该被实现为...