永发信息网

image.r怎么打开

答案:1  悬赏:40  手机版
解决时间 2021-01-29 13:53
image.r怎么打开
最佳答案
你的问题的主要困难在于解压缩。

.tiff格式与.bmp相似,通常都没有压缩或者只有简单的RLE压缩。但.jpg与此不同,它通常采用四道压缩工序,压缩算法很复杂,里面涉及很多数学(从jpeg的英文名字“联合图像专家组”就可以感受到),所以解压缩的过程是很繁琐的。另外windows内建对jpeg格式的支持,因此通常没有人会自己写这些解压缩算法,又费力又容易出错,效率还不如微软的算法。用Windows SDK中的IPicture可以读取jpeg文件并直接得到图像的RGB值,你需要去MSDN查一下相关的文件。

如果你对自己的数学基础有信心,而且一定想要知道jpeg的压缩/解压缩原理,那么下面这篇水母的文章可能对你有用(反正我看了几句就看不懂了):

水木社区(展开完整界面) → 数字多媒体应用 → 精华区文章阅读
DigiMedia 版 (精华区)

6.3 JPEG格式
6.3.1 简介
微处理机中的存放顺序有正序(big endian)和逆序(little endian)之分。正序存放就是
高字节存放在前低字节在后,而逆序存放就是低字节在前高字节在后。例如,十六进制
数为A02B,正序存放就是A02B,逆序存放就是2BA0。摩托罗拉(Motorola)公司的微处理
器使用正序存放,而英特尔(Intel)公司的微处理器使用逆序。JPEG文件中的字节是按照
正序排列的。
----------------------------------------------------------------------------
----
JPEG委员会在制定JPEG标准时,定义了许多标记(marker)用来区分和识别图像数据及其
相关信息,但笔者没有找到JPEG委员会对JPEG文件交换格式的明确定义。直到1998年12
月从分析网上具体的JPG图像来看,使用比较广泛的还是JPEG文件交换格式(JPEG File
Interchange Format,JFIF)版本号为1.02。这是1992年9月由在C-Cube Microsystems公
司工作的Eric Hamilton提出的。此外还有TIFF JPEG等格式,但由于这种格式比较复杂
,因此大多数应用程序都支持JFIF文件交换格式。
JPEG文件使用的颜色空间是CCIR 601推荐标准进行的彩色空间(参看第7章)。在这个彩色
空间中,每个分量、每个像素的电平规定为255级,用8位代码表示。从RGB转换成YCbCr
空间时,使用下面的精确的转换关系:
Y = 256 * E'y
Cb = 256 * [E'Cb] + 128
Cr = 256 * [E'Cr] + 128
其中亮度电平E'y和色差电平E'Cb和E'Cb分别是CCIR 601定义的参数。由于E'y的范围是
0~1,E'Cb和E'Cb的范围是-0.5~+0.5,因此Y, Cb和Cr的最大值必须要箝到255。于是
RGB和YCbCr之间的转换关系需要按照下面的方法计算。
(1) 从RGB转换成YCbCr
YCbCr(256级)分量可直接从用8位表示的RGB分量计算得到:
Y = 0.299 R + 0.587 G + 0.114 B
Cb = - 0.1687R - 0.3313G + 0.5 B + 128
Cr = 0.5 R - 0.4187G - 0.0813 B + 128
需要注意的是不是所有图像文件格式都按照R0,G0,B0,…… Rn,Gn,Bn的次序存储样
本数据,因此在RGB文件转换成JFIF文件时需要首先验证RGB的次序。
(2) 从YCbCr转换成RGB
RGB分量可直接从YCbCr(256级)分量计算得到:
R = Y + 1.402 (Cr-128)
G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128)
B = Y + 1.772 (Cb-128)
在JFIF文件格式中,图像样本的存放顺序是从左到右和从上到下。这就是说JFIF文件中
的第一个图像样本是图像左上角的样本。
6.3.2 文件结构
JFIF文件格式直接使用JPEG标准为应用程序定义的许多标记,因此JFIF格式成了事实上
JPEG文件交换格式标准。JPEG的每个标记都是由2个字节组成,其前一个字节是固定值0
xFF。每个标记之前还可以添加数目不限的0xFF填充字节(fill byte)。下面是其中的8个
标记:
SOI 0xD8 图像开始
APP0 0xE0 JFIF应用数据块
APPn 0xE1 - 0xEF 其他的应用数据块(n, 1~15)
DQT 0xDB 量化表
SOF0 0xC0 帧开始
DHT 0xC4 霍夫曼(Huffman)表
SOS 0xDA 扫描线开始
EOI 0xD9 图像结束
为使读者对JPEG定义的标记一目了然,现将JPEG的标记码列于表6-05,并保留英文解释

表6-05 JPEG定义的标记
Symbol
(符号)
Code Assignment
(标记代码)
Description
(说明)
Start Of Frame markers, non-hierarchical Huffman coding
SOF0
0xFFC0
Baseline DCT
SOF1
0xFFC1
Extended sequential DCT
SOF2
0xFFC2
Progressive DCT
SOF3
0xFFC3
Spatial (sequential) lossless
Start Of Frame markers, hierarchical Huffman coding
SOF5
0xFFC5
Differential sequential DCT
SOF6
0xFFC6
Differential progressive DCT
SOF7
0xFFC7
Differential spatial lossless
Start Of Frame markers, non-hierarchical arithmetic coding
JPG
0xFFC8
Reserved for JPEG extensions
SOF9
0xFFC9
Extended sequential DCT
SOF10
0xFFCA
Progressive DCT
SOF11
0xFFCB
Spatial (sequential) Lossless
Start Of Frame markers, hierarchical arithmetic coding
SOF13
0xFFCD
Differential sequential DCT
SOF14
0xFFCE
Differential progressive DCT
SOF15
0xFFCF
Differential spatial Lossless
Huffman table specification
DHT
0xFFC4
Define Huffman table(s)
arithmetic coding conditioning specification
DAC
0xFFCC
Define arithmetic conditioning table
Restart interval termination
RSTm
0xFFD0~0xFFD7
Restart with modulo 8 counter m
Other marker
SOI
0xFFD8
Start of image
EOI
0xFFD9
End of image
SOS
0xFFDA
Start of scan
DQT
0xFFDB
Define quantization table(s)
DNL
0xFFDC
Define number of lines
DRI
0xFFDD
Define restart interval
DHP
0xFFDE
Define hierarchical progression
EXP
0xFFDF
Expand reference image(s)
APPn
0xFFE0~0xFFEF
Reserved for application use
JPGn
0xFFF0~0xFFFD
Reserved for JPEG extension
COM
0xFFFE
Comment
Reserved markers
TEM
0xFF01
For temporary use in arithmetic coding
RES
0xFF02~0xFFBF
Reserved
JPEG文件由下面的8个部分组成:
(1) 图像开始(Start of Image,SOI)标记
(2) APP0标记(Marker)
① APP0长度(length)
② 标识符(identifier)
③ 版本号(version)
④ X和Y的密度单位(units=0:无单位;units=1:点数/英寸;units=2:点数/厘米)
⑤ X方向像素密度(X density)
⑥ Y方向像素密度(Y density)
⑦ 缩略图水平像素数目(thumbnail horizontal pixels)
⑧ 缩略图垂直像素数目(thumbnail vertical pixels)
⑨ 缩略图RGB位图(thumbnail RGB bitmap)
(3) APPn标记(Markers),其中n=1~15(任选)
① APPn长度(length)
② 由于详细信息(application specific information)
(4) 一个或者多个量化表DQT(difine quantization table)
① 量化表长度(quantization table length)
② 量化表数目(quantization table number)
③ 量化表(quantization table)
(5) 帧图像开始SOF0(Start of Frame)
① 帧开始长度(start of frame length)
② 精度(precision),每个颜色分量每个像素的位数(bits per pixel per color comp
onent)
③ 图像高度(image height)
④ 图像宽度(image width)
⑤ 颜色分量数(number of color components)
⑥ 对每个颜色分量(for each component)
ID
垂直方向的样本因子(vertical sample factor)
水平方向的样本因子(horizontal sample factor)
量化表号(quantization table#)
(6) 一个或者多个霍夫曼表DHT(Difine Huffman Table)
① 霍夫曼表的长度(Huffman table length)
② 类型、AC或者DC(Type, AC or DC)
③ 索引(Index)
④ 位表(bits table)
⑤ 值表(value table)
(7) 扫描开始SOS(Start of Scan)
① 扫描开始长度(start of scan length)
② 颜色分量数(number of color components)
③ 每个颜色分量
ID
交流系数表号(AC table #)
直流系数表号(DC table #)
④ 压缩图像数据(compressed image data)
(8) 图像结束EOI(End of Image)
表6-06表示了APP0域的详细结构。有兴趣的读者可通过UltraEdit或者PC TOOLS等工具软
件打开一个JPG图像文件,对APP0的结构进行分析和验证。
表6-06 JFIF格式中APP0域的详细结构
偏移
长度
内容
块的名称
说明
0
2 byte
0xFFD8
(Start of Image,SOI)
图像开始
2
2 byte
0xFFE0
APP0(JFIF application segment)
JFIF应用数据块
4
2 bytes
length of APP0 block
APP0块的长度
6
5 bytes
"JFIF"+"0"
识别APP0标记
11
1 byte
<Major version>
主要版本号(如版本1.02中的1)
12
1 byte
<Minor version>
次要版本号(如版本1.02中的02)
13
1 byte
<Units for the X
and Y densities>
X和Y的密度单位
units=0:无单位
units=1:点数/英寸
units=2:点数/厘米
14
2 bytes
<Xdensity>
水平方向像素密度
16
2 bytes
<Ydensity>
垂直方向像素密度
18
1 byte
<Xthumbnail>
缩略图水平像素数目
19
1 byte
<Ythumbnail>
缩略图垂直像素数目
3n
< Thumbnail RGB bitmap>
缩略RGB位图(n为缩略图的像素数)
Optional JFIF extension APP0 marker segment(s)
任选的JFIF扩展APP0标记段
……
……

2 byte
0xFFD9
(EOI) end-of-file
图像文件结束标记

令狐冲精华区搜索引擎 范围 全站 DigiMedia版
[百宝箱] [返回首页] [上级目录] [根目录] [令狐冲精华区搜索] [返回顶部] [刷新] [返回]
+ - R
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
雨过天晴,没能及时回穴的蚯蚓将面临“灭顶之
关于存货会计科目代码如何定义的
九品茶庄地址在哪,我要去那里办事
翠麟的意思是什么啊?知道的请说下!
精益求精利益多多益善意思相同吗/
商业步行街没有人气怎么办
茗香阁地址有知道的么?有点事想过去
平安信用卡能在平安保险开通吗
衔灯的意思是什么啊?知道的请说下!
房子要拆迁户主有点神经病怎么办,他不签字房
【太空人】假如我是太空人作文
黑龙江省有多少家服装厂
七碗茶社(池阳路)地址有知道的么?有点事想过
三十多岁啦,字写的很差,先练楷书还是行书?
决絶的意思是什么啊?知道的请说下!
推荐资讯
以下哪个不能代替特以诊脉为名耳中的,特?()
过年去泰国贵吗
从北京去烟台最快的方法是什么?大概多少钱
北京明邦物流股份有限公司绍兴分公司地址在哪
中通快递(百舸南路)地址在什么地方,我要处理
用过千纤草丝瓜水做的面膜做过要洗脸吗
驺隶的意思是什么啊?知道的请说下!
2016年数伏
雨龙小学地址好找么,我有些事要过去
“亚洲玉都”“中国玉都”位于揭阳市东山区,
小区之前停过一次水,来水以后家里的水压就变
2013年江苏省无锡移动神州行哪个套餐最便宜?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?