Exif 信息

大概翻譯了一下瓜浸,非常的粗糙,慢慢修正比原。請高手自動飄過~

因為做圖像壓縮時會損失相機寫入的如光圈插佛、快門等信息,所以自己寫了個圖像壓縮小玩意量窘,順便研究了一下Exif雇寇。

原文地址:Exif file format


JPEG格式和標志

JPEG文件都是以十六進制?'0xFFD8'開始,以'0xFFD9'結(jié)束蚌铜。在JPEG數(shù)據(jù)中有像'0xFF**'這樣的數(shù)據(jù)锨侯,這些被稱為“標志”,它表示JPEG信息數(shù)據(jù)段冬殃。0xFFD8?表示SOI(Start of image?圖像開始)囚痴,0xFFD9表示EOI(End of image?圖像結(jié)束)。這兩個特殊的標志沒有附加的數(shù)據(jù)审葬,而其他的標志在標志后都帶有附加的數(shù)據(jù)深滚÷钍基本的標志格式如下:

0xFF +?標志數(shù)字(1字節(jié))?+?數(shù)據(jù)大小(2字節(jié))?+?數(shù)據(jù)(n字節(jié))

數(shù)據(jù)大小?(2字節(jié))?是大端順序表示(Motorola方式)成箫,從高字節(jié)開始展箱。請注意“數(shù)據(jù)”包含了數(shù)據(jù)大小的描述,如果一個標志為:

FF C1 00 0C

則表示標志0xFFC1有0x000C(十進制12)個字節(jié)的數(shù)據(jù)蹬昌,但是數(shù)據(jù)的大小?'12'?也包含了記錄“數(shù)據(jù)大小”的字節(jié)混驰,所以在0x000C?后面只有10個字節(jié)的數(shù)據(jù)量。

在JPEG格式中皂贩,一些標志描繪數(shù)據(jù)后栖榨,跟著的就是SOS(Start of stream?數(shù)據(jù)流開始)標志。在SOS標志之后明刷,就是JPEG圖像流婴栽,直到EOI標志終結(jié)。

SOI MarkerMarker XX size=SSSSMarker YY size=TTTTSOS Marker size=UUUUImage streamEOI Marker

FFD8FFXXSSSSDDDD......FFYYTTTTDDDD......FFDAUUUUDDDD....I I I I....FFD9

Exif中使用的標志

從0xFFE0 ~ 0xFFEF?的標志是“應(yīng)用程序標志”辈末,在解碼JPEG?圖像的時候不是必需使用的愚争。這些標志被用在用戶應(yīng)用中。例如:老款的Olympus(奧林巴斯)挤聘、canon(佳能)轰枝、casio(卡西歐)、Agfa(愛克發(fā))的數(shù)碼相機使用JFIF(JPEG檔案交換格式)來存儲相片的组去。JFIF使用APP0(0xFFE0)標志來插入數(shù)碼相機的配置數(shù)據(jù)和縮略圖的鞍陨。


Exif也使用應(yīng)用程序標志來插入數(shù)據(jù),但是Exif使用APP1(0xFFE1)標志以避免和JFIF格式?jīng)_突从隆。每個Exif文件格式都是從下面格式開始的:

SOI MarkerAPP1 MarkerAPP1 DataOther Marker

FFD8FFE1SSSS 457869660000 TTTT......FFXX SSSS DDDD......


從SOI(0xFFD8)標志開始诚撵,所以這是一個JPEG文件。后面隨即跟著個一個APP1標志键闺。所有的Exif數(shù)據(jù)都儲存在APP1數(shù)據(jù)區(qū)中寿烟。在上表中的?"SSSS"?部分表示APP1數(shù)據(jù)(Exif?數(shù)據(jù)區(qū)域)的大小。請注意其大小"SSSS"包括大小描述"SSSS"其本身艾杏。


APP1的數(shù)據(jù)從"SSSS"后開始韧衣。第一部分是特殊數(shù)據(jù),使用ASCII字符"Exif"和兩個字節(jié)的?0x00?购桑,它定義了是否使用Exif畅铭。


APP1標志數(shù)據(jù)之后,是其他JPEG標志勃蜘。


Exif數(shù)據(jù)結(jié)構(gòu)

大略的Exif數(shù)據(jù)結(jié)構(gòu)(APP1)如下硕噩。它采用了"Intel"的小端字節(jié)順序方案,且包含JPEG格式的縮略圖缭贡÷茫總體上辉懒,Exif數(shù)據(jù)是從ASCII字符"Exif"和2個字節(jié)的0x00開始,后面就是Exif的數(shù)據(jù)了谍失。Exif使用TIFF格式來存儲數(shù)據(jù)眶俩。想知道更多關(guān)于TIFF格式內(nèi)容,請瀏覽"TIFF6.0 specification"快鱼。


FFE1APP1 Marker

SSSSAPP1 DataAPP1 Data Size

45786966 0000Exif Header

49492A00 08000000TIFF Header

XXXX. . . .?IFD0 (main image)Directory

LLLLLLLLLink to IFD1

XXXX. . . .?Data area of IFD0

XXXX. . . .???Exif SubIFDDirectory

00000000End of Link

XXXX. . . .?Data area of Exif SubIFD

XXXX. . . .???Interoperability IFDDirectory

00000000End of Link

XXXX. . . .?Data area of Interoperability IFD

XXXX. . . .?Makernote IFDDirectory

00000000End of Link

XXXX. . . .?Data area of Makernote IFD

XXXX. . . .?IFD1(thumbnail image)Directory

00000000End of Link

XXXX. . . .?Data area of IFD1

FFD8XXXX. . . XXXXFFD9Thumbnail image


TIFF頭的格式

TIFF頭指的是TIFF格式的前8個字節(jié)颠印。前兩個字節(jié)定義了TIFF數(shù)據(jù)采用何種字節(jié)順序。如果是0x4949 = "II"抹竹,表示采用"Intel"的小端字節(jié)順序线罕,如果為0x4d4d = ''MM",表示采用"Motorola"的大端字節(jié)順序窃判。例如:值'305,419,896'用十六進制表示為0x12345678.在Motorola的大端字節(jié)順序中以0x12,0x34,0x56,0x78的順序存儲钞楼。如果采用Intel的小端字節(jié)順序,則以0x78,0x56,0x34,0x12的順序存儲“懒眨現(xiàn)在來看询件,大多數(shù)數(shù)碼相機采用Intel的方式。Ricoh(理光)采用了Motorola的方式跨蟹。Sony(索尼)除了D700都采用Intel的的字節(jié)順序雳殊。Kodak(柯達)DC200/210/240采用Motorola方式,但是DC220/260使用PowerPC卻采用了Intel的方式窗轩!因此我們在獲取Exif數(shù)據(jù)時,必須每次都確認它的字節(jié)順序座咆。雖然JPEG數(shù)據(jù)只采用Motorola方式的字節(jié)順序痢艺,但Exif卻允許采用兩種方式。我不明白為什么Exif不修改字節(jié)順序為Motorola方式介陶。


然后的兩個字節(jié)總是2個字節(jié)長度的0x002A堤舒。如果數(shù)據(jù)采用Intel的字節(jié)順序,這兩個字節(jié)為"0x2A,0x00"哺呜。如果采用Motorola的字節(jié)順序舌缤,則為"0x00,0x2A"。TIFF頭的最后4個字節(jié)是第一個IFD(Image File Directory, described in next chapter?圖像文件目錄某残,描述下一個字符)的偏移量国撵。在TIFF格式中所有的偏移量都是從TIFF頭的第一個字節(jié)("II"或者"MM")開始計算的到所在位置的字節(jié)數(shù)目,這個偏移量也不例外玻墅。通常第一個IFD是緊跟在TIFF頭后面的介牙,所以它的偏移量為'0x00000008'。

Byte alignTAG MarkOffset to first IFD

"I I" or "MM"0x002a0x00000008

IFD:圖像文件目錄(Image file directory )

接著TIFF頭的是第一個IFD澳厢。它包含了圖像信息數(shù)據(jù)环础。在下表中囚似,開始的兩個字節(jié)('EEEE')表示這個IFD所包含的目錄實體數(shù)量。然后緊跟著就是實體對象(每個實體12個字節(jié))线得。在最后一個目錄實體后面有一個4字節(jié)大小的數(shù)據(jù)(表中的是'LLLLLLLL')饶唤,它表示下一個IFD的偏移量。如果這個偏移量的值是'0x00000000'贯钩,就表示這個IFD是最后一個IFD募狂。

EEEENo. of directory entry

TTTTffffNNNNNNNNDDDDDDDDEntry 0

TTTTffffNNNNNNNNDDDDDDDDEntry 1

. . . . . . . . .. . . . . .

TTTTffffNNNNNNNNDDDDDDDDEntry EEEE-1

LLLLLLLLOffset to next IFD


上表中的'TTTT'(2字節(jié))是標簽號,代表各種數(shù)據(jù)魏保。'ffff'(2字節(jié))是數(shù)據(jù)格式熬尺。'NNNNNNNN'(4字節(jié))是組成元素的數(shù)量。'DDDDDDDD'(4字節(jié))?包含數(shù)據(jù)本身或者數(shù)據(jù)的偏移量谓罗。

數(shù)據(jù)格式

數(shù)據(jù)格式(上表中的'FFFF')如下表所定義的一樣粱哼。"rational"表示一個分數(shù),它包含兩個signed/unsigned long integer值并且第一個為分子檩咱,第二個為分母揭措。

Value123456

Formatunsigned byteascii stringsunsigned shortunsigned longunsigned rationalsigned byte

Bytes/component112481

Value789101112

Formatundefinedsigned shortsigned longsigned rationalsingle floatdouble float

Bytes/component124848


你可以用組成元素的字節(jié)數(shù)('bytes/components')的值(見上表)乘以儲存在'NNNNNNNN'區(qū)域中的組成元素的數(shù)量得到數(shù)據(jù)總長度。如果這個總長度小于4個字節(jié)刻蚯,那么'DDDDDDDD'中的是這個標簽(Tag)的值绊含。如果總長度大于等于4個字節(jié),'DDDDDDDD'中的是數(shù)據(jù)存儲地址的偏移量炊汹。

IFD數(shù)據(jù)結(jié)構(gòu)

在Exif格式中躬充,第一個IFD是IFD0(主圖像的IFD),它鏈接著IFD1(縮略圖的IFD)后IFD鏈終止讨便。帶式IFD0/IFD1不包含像快門速度充甚,焦距等任何數(shù)碼相機的信息。IFD0總是包含特殊的標簽(Tag)Exif的偏移量(0x8769)?霸褒,它說明道Exif?SubIFD(子IFD)的偏移量伴找。Exif SubIFD(子IFD)也是IFD的格式,它包含了數(shù)碼相機的信息废菱。技矮、


Exif格式的擴展方案(Exif2.1/DCF)中,Exif SubIFD?包含了特殊標簽?Exif互用偏移量(Exif Interoperability Offset)(0xA005殊轴。它指向互用的IFD(Interoperability IFD)衰倦。在DCF(數(shù)碼相機格式)規(guī)范中,這個標簽是必須的且子IFD(SubIFD(主圖像IFD))和IFD1(縮略圖IFD)都可以帶使用互用的IFD(Interoperability IFD)梳凛。通常耿币,只有主圖像使用帶有這個標簽。


一些數(shù)碼相機使用IFD數(shù)據(jù)格式來表示制造商數(shù)據(jù)——制造商特殊的神秘數(shù)字區(qū)韧拒。要小心的編寫程序淹接,因為很難區(qū)分制造商數(shù)據(jù)是否使用了IFD格式十性。附錄中有一些制造商數(shù)據(jù)的信息。


0000: 49 49 2A 00 08 00 00 00-02 00 1A 01 05 00 01 00

0010: 00 00 26 00 00 00 69 87-04 00 01 00 00 00 11 02

0020: 00 00 40 00 00 00 48 00-00 00 01 00 00 00


如果上面數(shù)據(jù)為TIFF數(shù)據(jù)的第一個部分塑悼,那么可以解釋為:

?頭兩個字節(jié)為"II"劲适,是'Intel'的字節(jié)順序;

?地址0x0004~0x0007是?is 0x08000000厢蒜,IFD0從地址'0x0008'開始霞势;

?地址?0x0008~0x0009?是?0x0200,嗎,IFD0有2個目錄實體斑鸦;

?地址?0x000a~0x000b?是?0x1A01愕贡,?表示這是一個水平分辨率(XResolution)(0x011A)標簽,它包含了圖像的水平分辨率巷屿;

?地址?0x000c~0x000d?是?0x0500,固以,這個值表示的格式是無符號分數(shù)(unsigned rational)(0x0005);

?地址?0x000e~0x0011?是?0x01000000,嘱巾,組成元素數(shù)量是'1'憨琳,無符號分數(shù)(unsigned rational)的尺寸是8字節(jié),所有數(shù)據(jù)總長度為?1?×8?=?8字節(jié)旬昭;

?數(shù)據(jù)總長度大于4個字節(jié)篙螟,所以接下的4個字節(jié)是數(shù)據(jù)的偏移量;

?地址0x0012~0x0015?是?0x26000000问拘,水平分辨率(XResolution)的數(shù)據(jù)存儲在0x0026遍略;

?地址0x0026~0x0029?是?0x48000000,分子是72骤坐,地址0x002a~0x002d是0x0100000000墅冷,分母是?'1'。所以水平分辨率(XResolution)是72/1或油;

?地址0x0016~0x0017是0x6987,下一個標簽是Exif偏移(ExifOffset)(0x8769)驰唬。它的值是Exif子IFD(Exif SubIFD的偏移量顶岸;

?數(shù)據(jù)格式是0x0004,無符號長整型(unsigned long integer)叫编;

?這個標簽有一個元素辖佣。無符號長整型(unsigned long integer)長度為4個字節(jié),所以數(shù)據(jù)總長度為4字節(jié)搓逾;

?總數(shù)據(jù)長度等于4字節(jié)卷谈,接下的4個字節(jié)是Exif子IFD(Exif SubIFD)的偏移量;

?地址0x001e~0x0021是0x11020000霞篡,Exif子IFD(Exif SubIFD)從'0x0211'開始世蔗;

?這是最后一個目錄實體端逼,接下的4個字節(jié)表示下一個IFD的偏移量;

?地址0x0022~0x0025?是?0x40000000污淋,下一個IFD從'0x0040'開始顶滩。


縮略圖

Exif格式包含圖像的縮略圖(除了Ricoh?(理光)RDC-300Z)〈绫縮略圖通常在IFD1后面礁鲁。共有3種格式的縮略圖:JPEG格式(JPEG?使用YCbCr),RGB TIFF格式赁豆,YcbCr TIFF?格式〗龃迹現(xiàn)在Exif 2.1?或者更高版本是推薦使用JPEG格式和160×120的縮略圖幕与。而DCF規(guī)范則必須使用JPEG格式和160×120的縮略圖杖们。


JPEG格式縮略圖

如果IFD1中壓縮(Compression)(0x0103)標簽的值為?'6 '默怨,那么縮略圖是JPEG格式捺萌。大多數(shù)的Exif圖像使用JPEG格式的縮略圖农猬。在這些圖像中闸迷,你可以在IFD1中JpegIFOffset(0x0201)標簽中教沾,以及JpegIFByteCount(0x0202)標簽中分別獲得縮略圖的偏移量和大小沾瓦。其數(shù)據(jù)格式為普通的JPEG格式心铃,從0xFFD8?開始准谚,到?0xFFD9結(jié)束。


TIFF格式縮略圖

如果IFD1中壓縮(Compression)(0x0103)標簽的值為?'1 '去扣,那么說縮略圖是非壓縮的(TIFF格式)柱衔。縮略圖的起點數(shù)據(jù)在StripOffset(0x0111)標簽愉棱,縮略圖大小則是StripByteCounts(0x0117)標簽的和唆铐。

如果縮略圖是無壓縮的且IFD1中標簽PhotometricInterpretation(0x0106)的值為'2',則縮略圖采用RGB格式奔滑。在這種情況中艾岂,你可以通過那數(shù)據(jù)復制到計算機中RGB格式(如BMP格式,或者復制到VRAM目錄)等簡單方法查看縮略圖朋其。Kodak(柯達)DC -210/220/260?就是使用這種格式王浴。需要說明的是,TIFF用'RGB'的順序儲存像素數(shù)據(jù)梅猿,而BMP格式采用BGR順序氓辣。

如果標簽值為'2',那么縮略圖采用YcbCr格式袱蚓。如果你想查看縮略圖钞啸,你必須要把它轉(zhuǎn)換為RGB。Ricoh(理光)RDC4200/4300, Fuji(富士)?DS-7/300 and DX-5/7/9?都是用這種格式(比較新的RDC5000/MX-X00系列使用JPEG格式)。Next section is brief description to conversion of Fuji DS's thumbnail. For more details, refer to?TIFF6.0 specification.

At DX-5/7/9, YCbCrSubsampling(0x0212) has values of '2,1', PlanarConfiguration(0x011c) has a value '1'. So the data align of this image is below.

Y(0,0),Y(1,0),Cb(0,0),Cr(0,0), Y(2,0),Y(3,0),Cb(2,0),Cr(3.0), Y(4,0),Y(5,0),Cb(4,0),Cr(4,0). . . .

The numeric in parenthesis is pixel coordinates. DX series' YCbCrCoefficients(0x0211) has values '0.299/0.587/0.114', ReferenceBlackWhite(0x0214) has values '0,255,128,255,128,255'. Therefore to convert from Y/Cb/Cr to RGB is;

B(0,0)=(Cb-128)*(2-0.114*2)+Y(0,0)

R(0,0)=(Cr-128)*(2-0.299*2)+Y(0,0)

G(0,0)=(Y(0,0)-0.114*B(0,0)-0.299*R(0,0))/0.587

Horizontal subsampling is a value '2', so you can calculate B(1,0)/R(1,0)/G(1,0) by using the Y(1,0) and Cr(0,0)/Cb(0,0). Repeat this conversion by value of ImageWidth(0x0100) and ImageLength(0x0101).


Exif/TIFF?中使用的標簽號

Exif/TIFF?中使用的標簽號如下所示体斩。如果標簽的元素數(shù)量有限制梭稚,則CompoNo列就是最大允許的元素個數(shù),如果CompoNo列為空硕勿,代表沒有限制哨毁。

IFD0?中使用的標簽(主圖像)

Tag No.標簽名稱格式CompoNoDesc.

0x010eImageDescription

(圖像描述)

ascii string描述相片,不支持雙字節(jié)的字符源武,如漢語扼褪、韓語、日語

0x010fMake

(制造商)

ascii string數(shù)碼相機制造商粱栖。在Exif標準中是可選的话浇,但在DCF(數(shù)碼相機格式)中是必需的。

0x0110Model

(型號)

ascii string數(shù)碼相機型號闹究。在Exif標準中是可選的幔崖,但在DCF(數(shù)碼相機格式)中是必需的。

0x0112Orientation

(方向)

unsigned short1Value0th Row0th Column

1topleft side

2topright side

3bottomright side

4bottomleft side

5left sidetop

6right sidetop

7right sidebottom

8left sidebottom

The orientation of the camera relative to the scene, when the image was captured. The relation of the '0th row' and '0th column' to visual position is shown as right.

拍攝時的相機方向(橫向還是縱向渣淤,那邊朝上)赏寇。……

0x011aXresolution

(水平分辨率)

unsigned rational1圖像顯示价认、打印的分辨率嗅定。默認值值是每英寸72像素,但是因為個人計算機不使用這個值來顯示或者打印用踩,所以這個值沒有意義渠退。

0x011bYresolution

(垂直分辨率)

unsigned rational1

0x0128ResolutionUnit

(分辨率單位)

unsigned short1水平或者垂直分辨率XResolution(0x011a)/YResolution(0x011b)的單位,'1''表示沒有單位脐彩,'2'表示英寸碎乃,'3'表示厘米。默認為'2'惠奸。

0x0131Software

(軟件)

ascii stringShows firmware(internal software of digicam) version number.

固件(數(shù)碼相機內(nèi)軟件)版本號梅誓。

0x0132DateTime

(日期時間)

ascii string20圖像最后修改的日期時間。日期格式為"YYYY:MM:DD HH:MM:SS" + 0x00佛南,一共20字節(jié)证九。如果沒有設(shè)置時鐘或者數(shù)碼相機沒有時鐘,這個區(qū)域可填充空格共虑。通常,這個標簽的值與DateTimeOriginal(0x9003)的值相同呀页。

0x013eWhitePoint

(白點)

unsigned rational2定義了圖像白點的色度妈拌。如果圖像使用CIE(國際照明委員會)標準亮度D65(被認為是‘陽光’的標準)的光源,這個值為'3127/10000,3290/10000'。

0x013fPrimaryChromaticities

(原色色度)

unsigned rational6定義了原色的色度尘分。如果圖像使用CCIR推薦709原色方案猜惋,這個值應(yīng)該為'640/1000,330/1000,300/1000,600/1000,150/1000,0/1000'。

0x0211YcbCrCoefficients

(顏色空間轉(zhuǎn)換矩陣系數(shù))

unsigned rational3當圖像格式為YcbCr時培愁,這個值包含一個與RGB格式轉(zhuǎn)換的常量參數(shù)著摔。通常定续,這個值為'0.299/0.587/0.114'谍咆。

0x0213YcbCrPositioning

(YcbCr配置)

unsigned short1When image format is YCbCr and uses 'Subsampling'(cropping of chroma data, all the digicam do that), defines the chroma sample point of subsampling pixel array. '1' means the center of pixel array, '2' means the datum point.

當圖像格式為YCbCr且使用部分采樣(色度數(shù)據(jù)的取樣,所有數(shù)碼相機都會這么做)時私股,定義了部分抽樣像素數(shù)組的色度樣本點摹察。'1'表示像素數(shù)組的中間,'2'表示基準點倡鲸。

0x0214ReferenceBlackWhite

(黑白參照值對)

unsigned rational6Shows reference value of black point/white point. In case of YCbCr format, first 2 show black/white of Y, next 2 are Cb, last 2 are Cr. In case of RGB format, first 2 show black/white of R, next 2 are G, last 2 are B.

黑白點參照值供嚎。在YcbCr格式的方案中,頭2字節(jié)表示Y的黑白參照值峭状,接下來的2字節(jié)是Cb的克滴,最后2字節(jié)是Cr的。在RGB格式方案中优床,頭2字節(jié)表示R的黑白參照值劝赔,接下來的2字節(jié)是G的,最后2字節(jié)是B的羔巢。

0x8298Copyright

(版權(quán))

ascii stringShows copyright information

版權(quán)信息

0x8769ExifOffsetunsigned long1Offset to Exif Sub IFD

子IFD的偏移量


Exif SubIFD(子標簽)中使用的標簽

Tag No.標簽名稱格式CompoNoDesc.

0x829aExposureTime

(曝光時間)

unsigned rational1曝光時間(快門速度的倒數(shù))望忆。以秒為單位。

0x829dFnumber

(焦距)

unsigned rational1獲取圖像使用的焦距(光圈)竿秆。

0x8822ExposureProgram

(曝光方式)

unsigned short1Exposure program that the camera used when image was taken. '1' means manual control, '2' program normal, '3' aperture priority, '4' shutter priority, '5' program creative (slow program), '6' program action(high-speed program), '7' portrait mode, '8' landscape mode.

拍攝圖像時相機的曝光程序(曝光方式)启摄。'1'表示手動控制;'2'?'3'光圈優(yōu)先幽钢;?'4'快門優(yōu)先歉备;'5''6''7''8

0x8827ISOSpeedRatings

(ISO)

unsigned short2CCD sensitivity equivalent to Ag-Hr film speedrate.

0x9000ExifVersion

(Exif版本)

undefined4Exif version number. Stored as 4bytes of ASCII character. If the picture is based on Exif V2.1, value is "0210". Since the type is 'undefined', there is no NULL(0x00) for termination.

Exif版本號。用4字節(jié)的ASCII字符保存匪燕。如果圖像基于Exif v2.1蕾羊,其值為"0210"。由于類型為‘未定義’帽驯,所以結(jié)尾沒有NULL(0x00)值龟再。

0x9003DateTimeOriginal

(原始圖像采集的時間)

ascii string20原始圖像采集時的時間。這個值不能被用戶的程序修改尼变。時間格式為"YYYY:MM:DD HH:MM:SS" + 0x00利凑,共20字節(jié)。如果沒有設(shè)定時鐘或者數(shù)碼相機沒有時鐘,這個區(qū)域可填充空格哀澈。在Exif標準中牌借,這個標簽是可選的,但在DCF標準中時必須的割按。

通常膨报,這個標簽的值與DateTimeOriginal(0x0132)的值相同。

0x9004DateTimeDigitized

(原始圖像被數(shù)字化編碼時的時間)

ascii string20圖像被數(shù)字化的時間适荣。通常和DateTimeOriginal(原始圖像采集的時間)(0x9003)相同现柠。時間格式為"YYYY:MM:DD HH:MM:SS" + 0x00,共20字節(jié)束凑。如果沒有設(shè)定時鐘或者數(shù)碼相機沒有時鐘晒旅,這個區(qū)域可填充空格。在Exif標準中汪诉,這個標簽是可選的废恋,但在DCF標準中時必須的。

0x9101ComponentsConfiguration

(像素顏色構(gòu)成順序)

undefinedShows the order of pixel data. Most of case '0x04,0x05,0x06,0x00' is used for RGB-format and '0x01,0x02,0x03,0x00' for YCbCr-format. 0x00:does not exist, 0x01:Y, 0x02:Cb, 0x03:Cr, 0x04:Red, 0x05:Green, 0x06:Bllue.

像素數(shù)據(jù)種色彩的順序扒寄。大多數(shù)都采用RGB格式為'0x04,0x05,0x06,0x00'鱼鼓,YcbCr格式為'0x01,0x02,0x03,0x00'的方案。0x00:不存在该编;0x01: Y迄本;?0x02: Cb;?0x03: Cr课竣;?0x04: Red,嘉赎;0x05: Green;?0x06: Blue.

0x9102CompressedBitsPerPixel

每個像素的壓縮位

unsigned rational1The average compression ratio of JPEG (rough estimate).

JPEG的平均壓縮率(粗略估計)于樟。

0x9201ShutterSpeedValue

(快門速度APEX值)

signed rational1Shutter speed by APEX value. To convert this value to ordinary 'Shutter Speed'; calculate this value's power of 2, then reciprocal. For example, if the ShutterSpeedValue is '4', shutter speed is?1/(24)=1/16?second.

快門速度的APEX值公条。要來轉(zhuǎn)化為平常的“快門速度”,計算方法為2的這個值為冪次方迂曲,在倒數(shù)靶橱。舉例,如果ShutterSpeedValue(快門速度APEX值)為4則快門速度為1/(24)=1/16?秒路捧。

0x9202ApertureValue

(光圈)

unsigned rational1The actual aperture value of lens when the image was t

獲取圖像時實際的光圈值关霸。單位是APEX。要轉(zhuǎn)換原始光圈杰扫,對?求這個值次冪队寇。舉例:如果ApertureValue(光圈)為'5',光圈(F-number(F-stop),)為1.41425?= F5.6章姓。

0x9203BrightnessValue

(亮度)

signed rational1Brightness of taken subject, unit is APEX. To calculate Exposure(Ev) from BrigtnessValue(Bv), you must add SensitivityValue(Sv).Ev=Bv+Sv???Sv=log2(ISOSpeedRating/3.125)

ISO100:Sv=5, ISO200:Sv=6, ISO400:Sv=7, ISO125:Sv=5.32.

物體的亮度英上,單位是APEX炭序。曝光量(EV)等于亮度(BV?)加上感光度(SV)。

Ev=Bv+Sv???Sv=log2(ISOSpeedRating/3.125)

ISO100:Sv=5, ISO200:Sv=6, ISO400:Sv=7, ISO125:Sv=5.32.

0x9204ExposureBiasValue

(曝光補償)

signed rational1Exposure bias(compensation) value of taking picture. Unit is APEX(EV).

拍攝時的曝光補償(EV)苍日,單位是APEX(EV)。

0x9205MaxApertureValue

(最大光圈)

unsigned rational1Maximum aperture value of lens. You can convert to F-number by calculating power of root 2 (same process of ApertureValue:0x9202).

鏡頭的最大光圈窗声。以?為底相恃,這個值為冪,等到的值就是焦距(計算方法同ApertureValue

(光圈)(0x0902)一樣)笨觅。

0x9206SubjectDistance

(物距)

signed rational1Distance to focus point, unit is meter.

到焦點的距離拦耐,單位是米。

0x9207MeteringMode

測光方式

unsigned short1Exposure metering method. '0' means unknown, '1' average, '2' center weighted average, '3' spot, '4' multi-spot, '5' multi-segment, '6' partial, '255' other.

測光方式见剩。0杀糯、未知;1苍苞、平均測光固翰;2、中心重點平均羹呵;3骂际、單點測光;4冈欢、多點測光歉铝;5、矩陣測光凑耻;6太示、局部測光;255香浩、其他类缤。

0x9208LightSource

(光源,白平衡)

unsigned short1光源弃衍,實際表示白平衡設(shè)置呀非。0、未知镜盯;1岸裙、日光;2速缆、熒光燈降允;3、鎢絲燈艺糜;10剧董、閃光燈幢尚;17、標準光線A翅楼;18尉剩、標準光線B;19毅臊、標準光線C理茎;20、D55管嬉;21皂林、D65;22蚯撩、D75础倍;255、其他胎挎。

0x9209Flash

(閃光)

unsigned short1'0' means flash did not fire, '1' flash fired, '5' flash fired but strobe return light not detected, '7' flash fired and strobe return light detected.

0沟启、沒有使用閃光燈;1呀癣、使用閃光燈美浦;5、閃光但沒有檢測到项栏;閃光且檢測到浦辨。

0x920aFocalLength

(焦距)

unsigned rational1Focal length of lens used to take image. Unit is millimeter.

拍攝時焦距,單位為毫米沼沈。

0x927cMakerNote

(制造商標記)

undefinedMaker dependent internal data. Some of maker such as Olympus/Nikon/Sanyo etc. uses IFD format for this area.

制造商內(nèi)置數(shù)據(jù)流酬,如奧林巴斯、尼康列另、三洋等芽腾。這區(qū)域使用IFD格式

0x9286UserComment

(用戶注釋)

undefinedStores user comment. This tag allows to use two-byte character code or unicode. First 8 bytes describe the character code. 'JIS' is a Japanese character code (known as Kanji).

儲存用戶注釋。這個標簽允許使用雙字節(jié)字符或Unicode页衙。前8個字節(jié)指示字節(jié)編碼摊滔。'JIS'是日本字符編碼(日本漢字)。

'0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00':ASCII

'0x4a,0x49,0x53,0x00,0x00,0x00,0x00,0x00':JIS

'0x55,0x4e,0x49,0x43,0x4f,0x44,0x45,0x00':Unicode

'0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00':Undefined

0x9290SubsecTime

(亞秒時間)

ascii stringSome of digicam can take 2~30 pictures per second, but DateTime/DateTimeOriginal/DateTimeDigitized tag can't record the sub-second time. SubsecTime tag is used to record it.

For example, DateTimeOriginal = "1996:09:01 09:15:30", SubSecTimeOriginal = "130", Combined original time is "1996:09:01 09:15:30.130"

一些數(shù)碼相機可以在一秒鐘內(nèi)拍攝2~30張相片店乐,但是DateTime(時間)艰躺、DateTimeOriginal(采像時間)、DateTimeDigitized(編碼時間)標簽都無法記錄比秒更小的時間眨八。這時可以使用SubsecTime(亞秒時間)標簽來記錄亞秒時間腺兴。

例如:DateTimeOriginal(采像時間)?= "1996:09:01 09:15:30",?SubSecTimeOriginal(采像亞秒時間)?= "130"廉侧,?合并采像時間后市?"1996:09:01 09:15:30.130"页响。

0x9291SubsecTimeOriginal

(采像亞秒時間)

ascii string

0x9292SubsecTimeDigitized

(采像編碼時間)

ascii string

0xa000FlashPixVersion

(FlashPix版本)

undefined4Stores FlashPix version. If the image data is based on FlashPix formar Ver.1.0, value is "0100". Since the type is 'undefined', there is no NULL(0x00) for termination.

儲存FlashPix版本篓足。如果圖像數(shù)據(jù)是基于FlashPix Ver1.0,那么這個值就是"0100"闰蚕。由于類型是‘未定義’栈拖,所以結(jié)尾沒有NULL(0x00)。

0xa001ColorSpace

(色彩空間)

unsigned short1Defines Color Space. DCF image must use sRGB color space so value is always '1'. If the picture uses the other color space, value is '65535':Uncalibrated.

定義色彩空間没陡。DCF圖像必須使用sRGB色彩空間辱魁,其值為'1'。如果圖像使用其他色彩空間诗鸭,其值為'65535':非標準。

0xa002ExifImageWidth

(圖寬)

unsigned short/long1Size of main image.

主圖像的尺寸参滴。

0xa003ExifImageHeight

(圖高)

unsigned short/long1

0xa004RelatedSoundFile

(相關(guān)音頻文件)

ascii stringIf this digicam can record audio data with image, shows name of audio data.

如果數(shù)碼相機記錄了圖像的音頻數(shù)據(jù)强岸,音頻數(shù)據(jù)的名稱保存在這個標簽。

0xa005ExifInteroperabilityOffsetunsigned long1Extension of "ExifR98", detail is unknown. This value is offset to IFD format data. Currently there are 2 directory entries, first one is Tag0x0001, value is "R98", next is Tag0x0002, value is "0100".

"ExifR98"的擴展砾赔,細節(jié)未知蝌箍。這個值IFD格式數(shù)據(jù)的偏移量。目前有兩個目錄實體暴心,第一個是標簽0x0001妓盲,值為"R98"。第二個是標簽0x0002专普,值為"0100"悯衬。

0xa20eFocalPlaneXResolutio

(水平分辨率)

unsigned rational1Pixel density at CCD's position. If you have MegaPixel digicam and take a picture by lower resolution(e.g.VGA mode), this value is re-sampled by picture resolution. In such case, FocalPlaneResolution is not same as CCD's actual resolution.

CCD上的像素密度。如果一臺百兆像素相機使用較低的分辨率(如VGA模式)檀夹,此值是圖像分辨率的重新取樣筋粗。在一些情況中,F(xiàn)ocalPlaneResolution(分辨率)與CCD的實際分辨率不同炸渡。

0xa20fFocalPlaneYResolution

(垂直分辨率)

unsigned rational1

0xa210FocalPlaneResolutionUnit

(分辨率單位)

unsigned short1Unit of FocalPlaneXResoluton/FocalPlaneYResolution. '1' means no-unit, '2' inch, '3' centimeter.?

Note:Some of Fujifilm's digicam(e.g.FX2700,FX2900,Finepix4700Z/40i etc) uses value '3' so it must be 'centimeter', but it seems that they use a '8.3mm?'(1/3in.?) to their ResolutionUnit. Fuji's BUG? Finepix4900Z has been changed to use value '2' but it doesn't match to actual value also.


FocalPlaneXResoluton(水平分辨率)娜亿、FocalPlaneYResolution(垂直分辨率)的單位。1蚌堵、無單位买决;2、英寸吼畏;3督赤、厘米。

注意:一些富士的數(shù)碼相機(例如FX2700宫仗、FX2900够挂、Finepix4700/40i等)的值為3,所以單位是‘厘米’藕夫,但實際上使用了'8.3mm'(1/3in.?)作為其單位孽糖。這是富士相機的BUG枯冈?Finepix4900Z已改此值使用2?,但是還是沒有同實際的值相吻合办悟。

0xa215ExposureIndex

(曝光量)

unsigned rational1Same as ISOSpeedRatings(0x8827) but data type is unsigned rational. Only Kodak's digicam uses this tag instead of ISOSpeedRating, I don't know why(historical reason?).

與ISOSpeedRatings(0x8827)(ISO)的值相同尘奏,但用(unsigned rational)無符號分數(shù)表示。只有柯達的數(shù)碼相機使用這個標簽而不用ISOSpeedRating(ISO)病蛉。

0xa217SensingMethod

(傳感方式)

unsigned short1Shows type of image sensor unit. '2' means 1 chip color area sensor, most of all digicam use this type.

圖像傳感器單位類型炫加。2表示1個彩色區(qū)域傳感器芯片,大多數(shù)數(shù)碼相機使用這種類型铺然。

0xa300FileSource

(文件源)

undefined1Indicates the image source. Value '0x03' means the image source is digital still camera.

指出圖像源俗孝。'0x03'表示圖像源是數(shù)碼相機。

0xa301SceneType

(場景類型)

undefined1Indicates the type of scene. Value '0x01' means that the image was directly photographed.

指明場景的類型魄健。值為'0x01'表示圖像時直接拍攝赋铝。

0xa302CFAPatternundefinedIndicates the Color filter array(CFA) geometric pattern.

指明色彩濾鏡矩陣(CFA)幾何樣式

Length

長度

Type

類型

Meaning

意義

2shortHorizontal repeat pixel unit = n

水平重復單位像素?= n

2shortVertical repeat pixel unit = m

垂直重復單位像素?= m

1byteCFA value[0,0]

(CFA的值[0,0])

:::

1byteCFA value[n-1,0]

1byteCFA value[0,1]

:::

1byteCFA value[n-1,m-1]

The relation of filter color to CFA value is shown below.

CFA的值表示的色彩濾鏡如下表:

Filter ColorRedGreenBlueCyanMagentaYellowWhite

CFA value0123456


RG

GB

For example, ordinary RGB filter uses the repetition of left chart, the value is '0x0002,0x0002,0x00,0x01,0x01,0x02'.


距離說明:一個普通RGB濾鏡使用了左圖的濾鏡,他的值就為:'0x0002,0x0002,0x00,0x01,0x01,0x02'沽瘦。


互用(Interoperability)?IFD中使用的標簽

Tag No.標簽名稱格式CompoNoDesc.

0x0001InteroperabilityIndex

(互用索引)

Ascii string4If this IFD is main image's IFD and the file content is equivalent to ExifR98 v1.0, the value is "R98". If thumbnail image's, value is "THM".

如果這個IFD是主圖像的IFD且文件內(nèi)容與EixfR98 V1.0相當革骨,那么值為"R98"。如果是縮略圖的IFD析恋,值為"THM"良哲。

0x0002InteroperabilityVersion

(互用版本)

Undefined4Records the interoperability version. "0100" means version 1.00.

記錄互用版本。"0100"表示V1.00助隧。

0x1000RelatedImageFileFormat

(圖像文件格式)

Ascii stringanyRecords the file format of image file. Value is ascii string (e.g. "Exif JPEG Ver. 2.1").

記錄圖像的文件格式筑凫。值為ASCII字符串

(例如:"Exif JPEG Ver.2.1")

0x1001RelatedImageWidth

(圖像寬度)

Short or Long1Records the image size.

圖像尺寸

0x1001RelatedImageLength

(圖像高度)

Short or Long1

IFD1 (縮略圖)中使用的標簽

Tag No.標簽名稱格式CompoNoDesc.

0x0100ImageWidth

(圖像寬度)

unsigned short/long1Shows size of thumbnail image.

縮略圖的尺寸

0x0101ImageLength

(圖像高度)

unsigned short/long1

0x0102BitsPerSample

(分量位數(shù))

unsigned short3When image format is no compression, this value shows the number of bits per component for each pixel. Usually this value is '8,8,8'

當圖像采用未壓縮的格式時,這個值表示每個分量用幾個字節(jié)表示喇颁。通常這個值為'8,8,8'漏健。

0x0103Compression

(壓縮)

unsigned short1Shows compression method. '1' means no compression, '6' means JPEG compression.

壓縮方法。1橘霎、不壓縮蔫浆;6、JPEG壓縮姐叁。

0x0106PhotometricInterpretation

(色彩空間)

unsigned short1Shows the color space of the image data components. '1' means monochrome, '2' means RGB, '6' means YCbCr.

圖像的色彩空瓦盛。1、黑白外潜;2原环、RGB;6处窥、YcbCr嘱吗。

0x0111StripOffsetsunsigned short/longWhen image format is no compression, this value shows offset to image data. In some case image data is striped and this value is plural.

當圖像為非壓縮格式時,這個值表示圖像數(shù)據(jù)的偏移量。在一些時候谒麦,圖像數(shù)據(jù)是帶狀存儲的俄讹,這個值不止一個。

0x0115SamplesPerPixel

(每像素分量)

unsigned short1When image format is no compression, this value shows the number of components stored for each pixel. At color image, this value is '3'.

當圖像采用未壓縮格式的時候绕德,這個值表示每個像素中的分量個數(shù)患膛。彩色圖像的值為3。

0x0116RowsPerStripunsigned short/long1When image format is no compression and image has stored as strip, this value shows how many rows stored to each strip. If image has not striped, this value is the same as ImageLength(0x0101).

當圖像格式是非壓縮的且圖像帶狀存儲耻蛇,這個值就表示每帶存儲多少行踪蹬。如果圖像不是帶狀存儲的,這個值等于圖像高度ImageLength(0x0101)臣咖。

0x0117StripByteConuntsunsigned short/longWhen image format is no compression and stored as strip, this value shows how many bytes used for each strip and this value is plural. If image has not stripped, this value is single and means whole data size of image.

當圖像未壓縮并以帶狀存儲時跃捣,這個值表示每帶有多少直接且此值不止一個。如果圖像不是帶狀存儲夺蛇,這個值只有一個且表示整個圖像的尺寸枝缔。

0x011aXresolution

(水平分辨率)

unsigned rational1Display/Print resolution of image. Large number of digicam uses 1/72inch, but it has no mean because personal computer doesn't use this value to display/print out.

圖像顯示或者打印的分辨率。大部分數(shù)碼相機為1/72英寸蚊惯,但是因為計算年不按這個值來答應(yīng)和顯示圖像,所以此值沒有意義灵临。

0x011bYresolution

(垂直分辨率)

unsigned rational1

0x011cPlanarConfiguration

(平面配置)

unsigned short1When image format is no compression YCbCr, this value shows byte aligns of YCbCr data. If value is '1', Y/Cb/Cr value is chunky format, contiguous for each subsampling pixel. If value is '2', Y/Cb/Cr value is separated and stored to Y plane/Cb plane/Cr plane format.

當圖像格式是不壓縮的YcbCr時截型,這個值表示YcbCr數(shù)據(jù)的排列順序。1表示Y/Cb/Cr是緊湊格式儒溉,一像素數(shù)據(jù)相連宦焦。2表示Y/Cb/Cr值分開存儲,以Y平面顿涣、Cb平面波闹、Cr平面存儲。

0x0128ResolutionUnit

(分辨率單位)

unsigned short1Unit of XResolution(0x011a)/YResolution(0x011b). '1' means inch, '2' means centimeter.

分辨率(XResolution(0x011a)/YResolution(0x011b))的單位涛碑。1精堕、英寸;2蒲障、厘米歹篓。

0x0201JpegIFOffset

(Jpeg偏移量)

unsigned long1When image format is JPEG, this value show offset to JPEG data stored.

當圖像格式為JPEG時的JPEG數(shù)據(jù)偏移量。

0x0202JpegIFByteCount

(Jpeg數(shù)據(jù)字節(jié)數(shù))

unsigned long1When image format is JPEG, this value shows data size of JPEG image.

當圖像格式為JPEG時揉阎,這個值表示JPEG圖像數(shù)據(jù)有多少個字節(jié)庄撮。

0x0211YcbCrCoefficients

(YcbCr系數(shù))

unsigned rational3When image format is YCbCr, this value shows constants to translate it to RGB format. In usual, '0.299/0.587/0.114' are used.

當圖像為YcbCr格式時,這個值表示轉(zhuǎn)換為RGB時的常量參數(shù)毙籽。通常這個值為'0.299/0.587/0.114'洞斯。

0x0212YcbCrSubSampling

(YcbCr子抽樣)

unsigned short2When image format is YCbCr and uses subsampling(cropping of chroma data, all the digicam do that), this value shows how many chroma data subsampled. First value shows horizontal, next value shows vertical subsample rate.

當圖像為YcbCr格式且二次抽樣(裁剪色度數(shù)據(jù),所有的數(shù)碼相機都這么做)時坑赡,這個值表示有多少色度信息被二次抽樣烙如。第一個值是水平方向的么抗、第二個值是垂直方向的抽樣率。

0x0213YcbCrPositioning

(YCbCr抽象點)

unsigned short1When image format is YCbCr and uses 'Subsampling'(cropping of chroma data, all the digicam do that), this value defines the chroma sample point of subsampled pixel array. '1' means the center of pixel array, '2' means the datum point(0,0).

當圖像為YcbCr格式且二次抽樣(裁剪色度數(shù)據(jù)厅翔,所有的數(shù)碼相機都這么做)時乖坠,這個值定義了子抽樣中的色度樣本點在像素數(shù)組中的位置。1刀闷、像素數(shù)組中心熊泵;2、基準點(0,0)甸昏。

0x0214ReferenceBlackWhite

(黑白參照值對)

unsigned rational6Shows reference value of black point/white point. In case of YCbCr format, first 2 show black/white of Y, next 2 are Cb, last 2 are Cr. In case of RGB format, first 2 show black/white of R, next 2 are G, last 2 are B.

黑白點參照值顽分。在YcbCr格式的方案中,頭2字節(jié)表示Y的黑白參照值施蜜,接下來的2字節(jié)是Cb的卒蘸,最后2字節(jié)是Cr的。在RGB格式方案中翻默,頭2字節(jié)表示R的黑白參照值,接下來的2字節(jié)是G的趾牧,最后2字節(jié)是B的。


Misc Tags

Tag No.Tag NameFormatCompoNoDesc.

0x00feNewSubfileTypeunsigned long1

0x00ffSubfileTypeunsigned short1

0x012dTransferFunctionunsigned short3

0x013bArtist

(藝術(shù)家)

ascii string

0x013dPredictorunsigned short1

0x0142TileWidthunsigned short1

0x0143TileLengthunsigned short1

0x0144TileOffsetsunsigned long

0x0145TileByteCountsunsigned short

0x014aSubIFDsunsigned long

0x015bJPEGTablesundefined

0x828dCFARepeatPatternDimunsigned short2

0x828eCFAPatternunsigned byte

0x828fBatteryLevelunsigned rational1

0x83bbIPTC/NAAunsigned long

0x8773InterColorProfileundefined

0x8824SpectralSensitivityascii string

0x8825GPSInfounsigned long1

0x8828OECFundefined

0x8829Interlaceunsigned short1

0x882aTimeZoneOffsetsigned short1

0x882bSelfTimerModeunsigned short1

0x920bFlashEnergyunsigned rational1

0x920cSpatialFrequencyResponseundefined

0x920dNoiseundefined

0x9211ImageNumberunsigned long1

0x9212SecurityClassificationascii string1

0x9213ImageHistoryascii string

0x9214SubjectLocationunsigned short4

0x9215ExposureIndexunsigned rational1

0x9216TIFF/EPStandardIDunsigned byte4

0xa20bFlashEnergyunsigned rational1

0xa20cSpatialFrequencyResponseunsigned short1

0xa214SubjectLocationunsigned short1

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末翘单,一起剝皮案震驚了整個濱河市哄芜,隨后出現(xiàn)的幾起案子柬唯,更是在濱河造成了極大的恐慌认臊,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锄奢,死亡現(xiàn)場離奇詭異美尸,居然都是意外死亡,警方通過查閱死者的電腦和手機斟薇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門师坎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人堪滨,你說我怎么就攤上這事胯陋。” “怎么了?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵遏乔,是天一觀的道長义矛。 經(jīng)常有香客問我,道長盟萨,這世上最難降的妖魔是什么凉翻? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮捻激,結(jié)果婚禮上制轰,老公的妹妹穿的比我還像新娘。我一直安慰自己胞谭,他們只是感情好垃杖,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著丈屹,像睡著了一般调俘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上旺垒,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天彩库,我揣著相機與錄音先蒋,去河邊找鬼鞭达。 笑死畴蹭,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的幔荒。 我是一名探鬼主播右犹,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼念链,長吁一口氣:“原來是場噩夢啊……” “哼谦纱!你這毒婦竟也來了跨嘉?” 一聲冷哼從身側(cè)響起祠乃,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎寺庄,沒想到半個月后斗塘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體馍盟,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了讶踪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柱查。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡唉工,死狀恐怖酵紫,靈堂內(nèi)的尸體忽然破棺而出橄唬,到底是詐尸還是另有隱情仰楚,我是刑警寧澤僧界,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站欢峰,受9級特大地震影響宠漩,放射性物質(zhì)發(fā)生泄漏扒吁。R本人自食惡果不足惜雕崩,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望懦铺。 院中可真熱鬧,春花似錦牧挣、人聲如沸裆针。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沐祷。三九已至胞锰,卻和暖如春嗅榕,著一層夾襖步出監(jiān)牢的瞬間誊册,已是汗流浹背案怯。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工麦锯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留扶欣,地道東北人料祠。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像顺呕,于是被迫代替她去往敵國和親株茶。 傳聞我的和親對象是個殘疾皇子忌卤,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容