日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转】Dicom文件解析!!!!!!

發(fā)布時(shí)間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】Dicom文件解析!!!!!! 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)自:https://blog.csdn.net/leaf6094189/article/details/8510325

Dicom全稱是醫(yī)學(xué)數(shù)字圖像與通訊,這里講的暫不涉及通訊那方面的問題 只講*.dcm 也就是diocm格式文件的讀取,讀取本身是沒啥難度的 無非就是字節(jié)碼數(shù)據(jù)流處理。只不過確實(shí)比較繁瑣。
好了 正題

分析


整體結(jié)構(gòu),先是128字節(jié)所謂的導(dǎo)言部分,說俗點(diǎn)就是沒啥意義的破數(shù)據(jù) 跳過就是了,然后是dataElement,采取依次排列的方式,就是一個(gè)dataElement接一個(gè)dataElement的方式排到文件結(jié)尾。通俗的講dataElement就是指tag,也就是Dicom標(biāo)準(zhǔn)里定義的數(shù)據(jù)字典。tag是4個(gè)字節(jié)表示的 前兩字節(jié)是組號后兩字節(jié)是偏移號 比如0008,0018。所有dataElement在文件中都是按tag排序的 比如0002,0001? 0002,0002? 0003,0011
文件整體結(jié)構(gòu)如下:

再把論文里的這圖貼上來,因?yàn)榭偨Y(jié)的比較好。單個(gè)dataElement的結(jié)構(gòu)如下:

顯示VR:VR為OB?OW?OF?UT?SQ?UN的數(shù)據(jù)元素結(jié)構(gòu)

組號

元素號

VR

預(yù)留

值長度

數(shù)據(jù)元素值

2

2

2

2(0x00,0x00)

4

由數(shù)據(jù)長度決定

顯示VR:VR為普通類型時(shí)的數(shù)據(jù)元素結(jié)構(gòu)(少了預(yù)留那一行)

組號

元素號

VR

值長度

數(shù)據(jù)元素值

2

2

2

4

由數(shù)據(jù)長度決定

隱式VR?時(shí)元素結(jié)構(gòu)

組號

元素號

值長度

數(shù)據(jù)元素值

2

2

4

由數(shù)據(jù)長度決定

?


要問VR是啥東東 ,值表示法 啥叫值表示法啊 俺不懂 int string short ushort 懂不 就是這個(gè)意思,Dicom標(biāo)準(zhǔn)真坑爹 非要整個(gè)怪怪的概念。
VR總共27個(gè) 跟c#值類型對應(yīng)關(guān)系我都寫好了:

?

1 string getVF(string VR, byte[] VF)2 {3 string VFStr = string.Empty;4 switch (VR)5 {6 case "SS":7 VFStr = BitConverter.ToInt16(VF, 0).ToString();8 break;9 case "US": 10 VFStr = BitConverter.ToUInt16(VF, 0).ToString(); 11 12 break; 13 case "SL": 14 VFStr = BitConverter.ToInt32(VF, 0).ToString(); 15 16 break; 17 case "UL": 18 VFStr = BitConverter.ToUInt32(VF, 0).ToString(); 19 20 break; 21 case "AT": 22 VFStr = BitConverter.ToUInt16(VF, 0).ToString(); 23 24 break; 25 case "FL": 26 VFStr = BitConverter.ToSingle(VF, 0).ToString(); 27 28 break; 29 case "FD": 30 VFStr = BitConverter.ToDouble(VF, 0).ToString(); 31 32 break; 33 case "OB": 34 VFStr = BitConverter.ToString(VF, 0); 35 break; 36 case "OW": 37 VFStr = BitConverter.ToString(VF, 0); 38 break; 39 case "SQ": 40 VFStr = BitConverter.ToString(VF, 0); 41 break; 42 case "OF": 43 VFStr = BitConverter.ToString(VF, 0); 44 break; 45 case "UT": 46 VFStr = BitConverter.ToString(VF, 0); 47 break; 48 case "UN": 49 VFStr = Encoding.Default.GetString(VF); 50 break; 51 default: 52 VFStr = Encoding.Default.GetString(VF); 53 break; 54 } 55 return VFStr; 56 }

?

找個(gè)dicom文件在十六進(jìn)制編輯器下瞧瞧 給你整明白:

所有dataElement從前到后按tag又可簡單分段:

文件元dataElement不受傳輸語法影響 總是以顯示VR方式表示? 因?yàn)樗锩婢投x了傳輸語法
普通dataElement受傳輸語法影響 顯示VR表示方式還是隱式VR表示方式
像素?cái)?shù)據(jù)dataElement最重要也是最大的一個(gè)數(shù)據(jù)項(xiàng) 其實(shí)存儲的就是圖像數(shù)據(jù)



有幾個(gè)特殊的tag很重要 前面說過了tag就是dicom里定義的字典。文件元dataElement 和跟像素?cái)?shù)據(jù)相關(guān)的dataElement 都很重要,其他的很多 如果全部照顧完的話估計(jì)得寫上千行switch語句吧,所以沒有必要一般我們一般只抓取關(guān)鍵的tag。并且在隱式語法下要確定VR也必須根據(jù)字典來確定
關(guān)鍵的tag如下:

?

1 string getVR(string tag)2 {3 switch (tag)4 {5 case "0002,0000"://文件元信息長度6 return "UL";7 break;8 case "0002,0010"://傳輸語法9 return "UI";10 break;11 case "0002,0013"://文件生成程序的標(biāo)題12 return "SH";13 break;14 case "0008,0005"://文本編碼15 return "CS";16 break;17 case "0008,0008":18 return "CS";19 break;20 case "0008,1032"://成像時(shí)間21 return "SQ";22 break;23 case "0008,1111":24 return "SQ";25 break;26 case "0008,0020"://檢查日期27 return "DA";28 break;29 case "0008,0060"://成像儀器30 return "CS";31 break;32 case "0008,0070"://成像儀廠商33 return "LO";34 break;35 case "0008,0080":36 return "LO";37 break;38 case "0010,0010"://病人姓名39 return "PN";40 break;41 case "0010,0020"://病人id42 return "LO";43 break;44 case "0010,0030"://病人生日45 return "DA";46 break;47 case "0018,0060"://電壓48 return "DS";49 break;50 case "0018,1030"://協(xié)議名51 return "LO";52 break;53 case "0018,1151":54 return "IS";55 break;56 case "0020,0010"://檢查ID57 return "SH";58 break;59 case "0020,0011"://序列60 return "IS";61 break;62 case "0020,0012"://成像編號63 return "IS";64 break;65 case "0020,0013"://影像編號66 return "IS";67 break;68 case "0028,0002"://像素采樣1為灰度3為彩色69 return "US";70 break;71 case "0028,0004"://圖像模式MONOCHROME2為灰度72 return "CS";73 break;74 case "0028,0010"://row高75 return "US";76 break;77 case "0028,0011"://col寬78 return "US";79 break;80 case "0028,0100"://單個(gè)采樣數(shù)據(jù)長度81 return "US";82 break;83 case "0028,0101"://實(shí)際長度84 return "US";85 break;86 case "0028,0102"://采樣最大值87 return "US";88 break;89 case "0028,1050"://窗位90 return "DS";91 break;92 case "0028,1051"://窗寬93 return "DS";94 break;95 case "0028,1052":96 return "DS";97 break;98 case "0028,1053":99 return "DS"; 100 break; 101 case "0040,0008"://文件夾標(biāo)簽 102 return "SQ"; 103 break; 104 case "0040,0260"://文件夾標(biāo)簽 105 return "SQ"; 106 break; 107 case "0040,0275"://文件夾標(biāo)簽 108 return "SQ"; 109 break; 110 case "7fe0,0010"://像素?cái)?shù)據(jù)開始處 111 return "OW"; 112 break; 113 default: 114 return "UN"; 115 break; 116 } 117 }

其中,最關(guān)鍵的兩個(gè)tag:
1)0002,0010
普通tag的讀取方式 little字節(jié)序還是big字節(jié)序? 隱式VR還是顯示VR。由它的值決定

?

1 switch (VFStr)2 {3 case "1.2.840.10008.1.2.1\0"://顯示little4 isLitteEndian = true;5 isExplicitVR = true;6 break;7 case "1.2.840.10008.1.2.2\0"://顯示big8 isLitteEndian = false;9 isExplicitVR = true; 10 break; 11 case "1.2.840.10008.1.2\0"://隱式little 12 isLitteEndian = true; 13 isExplicitVR = false; 14 break; 15 default: 16 break; 17 }

2)7fe0,0010
像素?cái)?shù)據(jù)開始處

整理

根據(jù)以上的分析相信解析一個(gè)dicom格式文件的過程已經(jīng)很清晰了吧
第一步:跳過128字節(jié)導(dǎo)言部分,并讀取"DICM"4個(gè)字符 以確認(rèn)是dicom格式文件
第二步:讀取第一部分 也就是非常重要的文件元dataElement 。讀取所有0002開頭的tag 并根據(jù)0002,0010的值確定傳輸語法。文件元tag部分的數(shù)據(jù)元素都是以顯示VR的方式表示的 讀取它的值 也就是字節(jié)碼處理 別告訴我說你不會字節(jié)碼處理哈。傳輸語法 說得那么官方,你就忽悠吧 其實(shí)就確定兩個(gè)東西而已?
1.字節(jié)序 這個(gè)基本上都是little字節(jié)序。舉個(gè)例子吧十進(jìn)制數(shù) 35280 用十六進(jìn)制表示是0xff00?但是存儲到文件中你用十六進(jìn)制編輯器打開你看到的是這個(gè)樣子00ff 這就是little字節(jié)序。平常我們用的x86PC在windows下都是little字節(jié)序 包括AMD的CPU。別太較真 較真的話這個(gè)問題又可以寫篇博客了。
2.確定從0002以后的dataElement的VR是顯示還是隱式。說來說去0002,0010的值就 那么固定幾個(gè) 并且只能是那么幾個(gè) 這些都在那個(gè)北美放射學(xué)會定義的dicom標(biāo)準(zhǔn)的第六章 有說明 :

1.2.840.10008.1.2Implicit VR Little Endian: Default Transfer Syntax for DICOMTransfer Syntax
1.2.840.10008.1.2.1Explicit VR Little EndianTransfer Syntax
1.2.840.10008.1.2.2Explicit VR Big EndianTransfer Syntax

上面的那段代碼其實(shí)就是這個(gè)表格的實(shí)現(xiàn),講到這里你會覺得多么的坑爹啊 是的dicom面向?qū)ο蟮钠聘拍罘浅┑摹?br />第三步:讀取普通tag 直到搜尋到7fe0,0010,這個(gè)是最大的,用來存儲圖像數(shù)據(jù)的 dataElement。我們在前一步已經(jīng)把VR是顯示還是隱式確定 通過前面的圖 ,也就是字節(jié)碼處理而已無任何壓力。顯式情況下只需要根據(jù)VR 和Len?確定數(shù)據(jù)類型 和 數(shù)據(jù)長度,然后直接讀取就可以了。隱式情況下這破玩藝兒有點(diǎn)煩,只能根據(jù)tag 字典確定它是什么VR,推測出數(shù)據(jù)類型后才能讀取。關(guān)于這個(gè)字典也在dicom標(biāo)準(zhǔn)的第六章。上面倒數(shù)第二段的代碼已經(jīng)把重要的字典都列了出來。
第四步:讀取灰度像素?cái)?shù)據(jù)并調(diào)窗,然后以GDI的方式顯示出來。 說實(shí)話開始我還以為dicom這種號稱醫(yī)學(xué)什么影像的專家制定出來的標(biāo)準(zhǔn) 讀取像素?cái)?shù)據(jù)應(yīng)該有難度吧 結(jié)果沒想到這么的傻瓜。直接按像素從左到右從上到下 一行行依次掃描。兩個(gè)字節(jié)表示1個(gè)像素普通Dicom格式存儲的是16位的灰度圖像,其實(shí)有效數(shù)據(jù)只有12位,除去0 所以最高值是2047。比如CT值 從-1000到+1000,空氣的密度為-1000 水的密度為0 金屬的密度為+1000 總共的值為2000


調(diào)窗技術(shù):
即把12級灰度的數(shù)據(jù) 通過調(diào)節(jié)窗寬窗位并讓他在RGB模式下顯示出來。還技術(shù)呢 說實(shí)話這個(gè)也是沒什么技術(shù)含量的所謂的技術(shù),兩句代碼給你整明白。
調(diào)節(jié)窗寬窗位到底什么意思,12位的數(shù)據(jù)那么它總共有2047個(gè)等級的灰度 沒有顯示設(shè)備可以體現(xiàn)兩千多級的明暗度 就算有我們?nèi)庋垡矡o法分辨更無法診斷。我們要診斷是要提取關(guān)鍵密度值的數(shù)據(jù) 在醫(yī)院放射科呆久了你一定經(jīng)常聽醫(yī)生講什么骨窗 肺窗 之類的詞兒,這就是指的這個(gè)“窗”。比如有病人骨折了打了鋼板我們想看金屬部分來診斷 那么我們應(yīng)該抓取CT值從800到1000 密度的像素 也就是灰度值 然后把它放到RGB模式下顯示,低于800的不論值大小都顯示黑色 高于1000的不論值大小都顯示白色。
通過以上例子那么這個(gè)范圍1000-800=200 這個(gè)200表示窗寬,800+(200/2)這個(gè)表示窗位
一句話,從2047個(gè)等級的灰度里選取一個(gè)范圍放到0~255的灰度環(huán)境里顯示。

怎樣把12位灰度影射到8位灰度顯示出來呢,還怎么顯示 上面方法都給說明了基本上算半成品了。聯(lián)想到角度制弧度制,設(shè)要求的8位灰度值為x 已知的12位灰度值為y那么:x/255=y/2047 那么x=255y/2047 原理不多講 等比中項(xiàng)十字相乘法 這個(gè)是初中的知識哈。初中沒讀過的童鞋飄過。。。

原理過程講完了

代碼走起

?

1 class DicomHandler2 {3 string fileName = "";4 Dictionary<string, string> tags = new Dictionary<string, string>();//dicom文件中的標(biāo)簽5 BinaryReader dicomFile;//dicom文件流6 7 //文件元信息8 public Bitmap gdiImg;//轉(zhuǎn)換后的gdi圖像9 UInt32 fileHeadLen;//文件頭長度10 long fileHeadOffset;//文件數(shù)據(jù)開始位置11 UInt32 pixDatalen;//像素?cái)?shù)據(jù)長度12 long pixDataOffset = 0;//像素?cái)?shù)據(jù)開始位置13 bool isLitteEndian = true;//是否小字節(jié)序(小端在前 、大端在前)14 bool isExplicitVR = true;//有無VR15 16 //像素信息17 int colors;//顏色數(shù) RGB為3 黑白為118 public int windowWith = 2048, windowCenter = 2048 / 2;//窗寬窗位19 int rows, cols;20 public void readAndShow(TextBox textBox1)21 {22 if (fileName == string.Empty)23 return;24 dicomFile = new BinaryReader(File.OpenRead(fileName));25 26 //跳過128字節(jié)導(dǎo)言部分27 dicomFile.BaseStream.Seek(128, SeekOrigin.Begin);28 29 if (new string(dicomFile.ReadChars(4)) != "DICM")30 {31 MessageBox.Show("沒有dicom標(biāo)識頭,文件格式錯(cuò)誤");32 return;33 }34 35 36 tagRead();37 38 IDictionaryEnumerator enor = tags.GetEnumerator();39 while (enor.MoveNext())40 {41 if (enor.Key.ToString().Length > 9)42 {43 textBox1.Text += enor.Key.ToString() + "\r\n";44 textBox1.Text += enor.Value.ToString().Replace('\0', ' ');45 }46 else47 textBox1.Text += enor.Key.ToString() + enor.Value.ToString().Replace('\0', ' ') + "\r\n";48 }49 dicomFile.Close();50 }51 public DicomHandler(string _filename)52 {53 fileName = _filename;54 }55 56 public void saveAs(string filename)57 {58 switch (filename.Substring(filename.LastIndexOf('.')))59 {60 case ".jpg":61 gdiImg.Save(filename, System.Drawing.Imaging.ImageFormat.Jpeg);62 break;63 case ".bmp":64 gdiImg.Save(filename, System.Drawing.Imaging.ImageFormat.Bmp);65 break;66 case ".png":67 gdiImg.Save(filename, System.Drawing.Imaging.ImageFormat.Png);68 break;69 default:70 break;71 }72 }73 public bool getImg( )//獲取圖像 在圖像數(shù)據(jù)偏移量已經(jīng)確定的情況下74 {75 if (fileName == string.Empty)76 return false;77 78 int dataLen, validLen;//數(shù)據(jù)長度 有效位79 int imgNum;//幀數(shù)80 81 rows = int.Parse(tags["0028,0010"].Substring(5));82 cols = int.Parse(tags["0028,0011"].Substring(5));83 84 colors = int.Parse(tags["0028,0002"].Substring(5));85 dataLen = int.Parse(tags["0028,0100"].Substring(5));86 validLen = int.Parse(tags["0028,0101"].Substring(5));87 88 gdiImg = new Bitmap(cols, rows);89 90 BinaryReader dicomFile = new BinaryReader(File.OpenRead(fileName));91 92 dicomFile.BaseStream.Seek(pixDataOffset, SeekOrigin.Begin);93 94 long reads = 0;95 for (int i = 0; i < gdiImg.Height; i++)96 {97 for (int j = 0; j < gdiImg.Width; j++)98 {99 if (reads >= pixDatalen) 100 break; 101 byte[] pixData = dicomFile.ReadBytes(dataLen / 8 * colors); 102 reads += pixData.Length; 103 104 Color c = Color.Empty; 105 if (colors == 1) 106 { 107 int grayGDI; 108 109 double gray = BitConverter.ToUInt16(pixData, 0); 110 //調(diào)窗代碼,就這么幾句而已 111 //1先確定窗口范圍 2映射到8位灰度 112 int grayStart = (windowCenter - windowWith / 2); 113 int grayEnd = (windowCenter + windowWith / 2); 114 115 if (gray < grayStart) 116 grayGDI = 0; 117 else if (gray > grayEnd) 118 grayGDI = 255; 119 else 120 { 121 grayGDI = (int)((gray - grayStart) * 255 / windowWith); 122 } 123 124 if (grayGDI > 255) 125 grayGDI = 255; 126 else if (grayGDI < 0) 127 grayGDI = 0; 128 c = Color.FromArgb(grayGDI, grayGDI, grayGDI); 129 } 130 else if (colors == 3) 131 { 132 c = Color.FromArgb(pixData[0], pixData[1], pixData[2]); 133 } 134 135 gdiImg.SetPixel(j, i, c); 136 } 137 } 138 139 dicomFile.Close(); 140 return true; 141 } 142 void tagRead()//不斷讀取所有tag 及其值 直到碰到圖像數(shù)據(jù) (7fe0 0010 ) 143 { 144 bool enDir = false; 145 int leve = 0; 146 StringBuilder folderData = new StringBuilder();//該死的文件夾標(biāo)簽 147 string folderTag = ""; 148 while (dicomFile.BaseStream.Position + 6 < dicomFile.BaseStream.Length) 149 { 150 //讀取tag 151 string tag = dicomFile.ReadUInt16().ToString("x4") + "," + 152 dicomFile.ReadUInt16().ToString("x4"); 153 154 string VR = string.Empty; 155 UInt32 Len = 0; 156 //讀取VR跟Len 157 //對OB OW SQ 要做特殊處理 先置兩個(gè)字節(jié)0 然后4字節(jié)值長度 158 //------------------------------------------------------這些都是在讀取VR一步被阻斷的情況 159 if (tag.Substring(0, 4) == "0002")//文件頭 特殊情況 160 { 161 VR = new string(dicomFile.ReadChars(2)); 162 163 if (VR == "OB" || VR == "OW" || VR == "SQ" || VR == "OF" || VR == "UT" || VR == "UN") 164 { 165 dicomFile.BaseStream.Seek(2, SeekOrigin.Current); 166 Len = dicomFile.ReadUInt32(); 167 } 168 else 169 Len = dicomFile.ReadUInt16(); 170 } 171 else if (tag == "fffe,e000" || tag == "fffe,e00d" || tag == "fffe,e0dd")//文件夾標(biāo)簽 172 { 173 VR = "**"; 174 Len = dicomFile.ReadUInt32(); 175 } 176 else if (isExplicitVR == true)//有無VR的情況 177 { 178 VR = new string(dicomFile.ReadChars(2)); 179 180 if (VR == "OB" || VR == "OW" || VR == "SQ" || VR == "OF" || VR == "UT" || VR == "UN") 181 { 182 dicomFile.BaseStream.Seek(2, SeekOrigin.Current); 183 Len = dicomFile.ReadUInt32(); 184 } 185 else 186 Len = dicomFile.ReadUInt16(); 187 } 188 else if (isExplicitVR == false) 189 { 190 VR = getVR(tag);//無顯示VR時(shí)根據(jù)tag一個(gè)一個(gè)去找 真煩啊。 191 Len = dicomFile.ReadUInt32(); 192 } 193 //判斷是否應(yīng)該讀取VF 以何種方式讀取VF 194 //-------------------------------------------------------這些都是在讀取VF一步被阻斷的情況 195 byte[] VF = { 0x00 }; 196 197 if (tag == "7fe0,0010")//圖像數(shù)據(jù)開始了 198 { 199 pixDatalen = Len; 200 pixDataOffset = dicomFile.BaseStream.Position; 201 dicomFile.BaseStream.Seek(Len, SeekOrigin.Current); 202 VR = "UL"; 203 VF = BitConverter.GetBytes(Len); 204 } 205 else if ((VR == "SQ" && Len == UInt32.MaxValue) || (tag == "fffe,e000" && Len == UInt32.MaxValue))//靠 遇到文件夾開始標(biāo)簽了 206 { 207 if (enDir == false) 208 { 209 enDir = true; 210 folderData.Remove(0, folderData.Length); 211 folderTag = tag; 212 } 213 else 214 { 215 leve++;//VF不賦值 216 } 217 } 218 else if ((tag == "fffe,e00d" && Len == UInt32.MinValue) || (tag == "fffe,e0dd" && Len == UInt32.MinValue))//文件夾結(jié)束標(biāo)簽 219 { 220 if (enDir == true) 221 { 222 enDir = false; 223 } 224 else 225 { 226 leve--; 227 } 228 } 229 else 230 VF = dicomFile.ReadBytes((int)Len); 231 232 string VFStr; 233 234 VFStr = getVF(VR, VF); 235 236 //----------------------------------------------------------------針對特殊的tag的值的處理 237 //特別針對文件頭信息處理 238 if (tag == "0002,0000") 239 { 240 fileHeadLen = Len; 241 fileHeadOffset = dicomFile.BaseStream.Position; 242 } 243 else if (tag == "0002,0010")//傳輸語法 關(guān)系到后面的數(shù)據(jù)讀取 244 { 245 switch (VFStr) 246 { 247 case "1.2.840.10008.1.2.1\0"://顯示little 248 isLitteEndian = true; 249 isExplicitVR = true; 250 break; 251 case "1.2.840.10008.1.2.2\0"://顯示big 252 isLitteEndian = false; 253 isExplicitVR = true; 254 break; 255 case "1.2.840.10008.1.2\0"://隱式little 256 isLitteEndian = true; 257 isExplicitVR = false; 258 break; 259 default: 260 break; 261 } 262 } 263 for (int i = 1; i <= leve; i++) 264 tag = "--" + tag; 265 //------------------------------------數(shù)據(jù)搜集代碼 266 if ((VR == "SQ" && Len == UInt32.MaxValue) || (tag == "fffe,e000" && Len == UInt32.MaxValue) || leve > 0)//文件夾標(biāo)簽代碼 267 { 268 folderData.AppendLine(tag + "(" + VR + "):" + VFStr); 269 } 270 else if (((tag == "fffe,e00d" && Len == UInt32.MinValue) || (tag == "fffe,e0dd" && Len == UInt32.MinValue)) && leve == 0)//文件夾結(jié)束標(biāo)簽 271 { 272 folderData.AppendLine(tag + "(" + VR + "):" + VFStr); 273 tags.Add(folderTag + "SQ", folderData.ToString()); 274 } 275 else 276 tags.Add(tag, "(" + VR + "):" + VFStr); 277 } 278 } 279 }

好了收工。
測試下成果

?

1 if (openFileDialog1.ShowDialog() != DialogResult.OK)2 return;3 4 string fileName = openFileDialog1.FileName;5 6 handler = new DicomHandler(fileName);7 8 handler.readAndShow(textBox1);9 10 this.Text = "DicomViewer-" + openFileDialog1.FileName; 11 12 13 backgroundWorker1.RunWorkerAsync();

這里處理gdi位圖的時(shí)候直接用的setPix 處理速度比較慢所以用了backgroundWorker,實(shí)際應(yīng)用中請使用內(nèi)存緩沖跟指針的方式
否則效率低了是得不到客戶的認(rèn)可的哦,gdi位圖操作可使用lockBits加指針的方式 ,12位的灰度像素?cái)?shù)據(jù)可以第一次讀取后緩存到內(nèi)存中 以方便后面調(diào)窗的快速讀取
優(yōu)化這點(diǎn)代碼也不難哈 對指針什么的熟點(diǎn)就行了,前幾章都有。

這是ezDicom 經(jīng)過公認(rèn)測試的軟件 我們來跟他對比一下,打開?
調(diào)窗測試,我們注意到兩個(gè)東西 在沒有窗寬窗位時(shí) 默認(rèn)窗寬是2047+1即2048? 窗位是2048/2即1024
直觀的感受是調(diào)窗寬像在調(diào)圖像對比度 ,調(diào)窗位像在調(diào)圖像亮度。
窗寬為255的時(shí)候圖像是最瑞麗的 因?yàn)?55其實(shí)就是8位圖像的默認(rèn)窗寬。
注意窗位那里有小小區(qū)別,ez窗位顯示的是根據(jù)1024那里為0開始偏移 而我的程序是根據(jù)窗寬中間值沒有偏移
沒有偏移的情況稍微符合邏輯點(diǎn)吧。
但是可以看到原理是一樣的 結(jié)果是一樣的。


源碼下載測試dcm文件:?猛擊此處

本文來自:http://www.cnblogs.com/assassinx/archive/2013/01/09/dicomViewer.html

總結(jié)

以上是生活随笔為你收集整理的【转】Dicom文件解析!!!!!!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产午夜精品视频 | 日韩精品一区二区在线视频 | 国产精品系列在线播放 | 91免费网址 | 狠狠久久综合 | 欧美与欧洲交xxxx免费观看 | 亚洲免费在线视频 | 久久精品99国产精品日本 | 尤物九九久久国产精品的分类 | 久久午夜精品视频 | 日韩国产欧美在线播放 | 992tv人人草 黄色国产区 | 日韩精品免费在线观看 | 国产又黄又爽又猛视频日本 | 国产免费久久av | 99久免费精品视频在线观看 | 日韩黄色中文字幕 | 黄色影院在线免费观看 | 精品久久久久久久久亚洲 | 亚洲国产成人久久 | 欧洲一区二区在线观看 | 中文在线中文资源 | 欧美怡红院视频 | 天天天干天天射天天天操 | 国内精品久久久久久久影视简单 | 久久福利小视频 | 亚洲理论片 | 91精品久久久久久综合乱菊 | 香蕉视频网址 | av电影在线免费 | 天天综合人人 | 日韩黄色在线电影 | 在线成人小视频 | 在线高清av| 成年人在线视频观看 | 久久精品一区二区三区四区 | 99视频在线观看免费 | 日本久久成人中文字幕电影 | 国产精品一区免费看8c0m | 国产中文字幕一区二区三区 | 婷婷六月综合网 | 天天操狠狠操 | 精品久久一级片 | 91精品久久香蕉国产线看观看 | 国产一区二区中文字幕 | 色婷婷福利视频 | 97av在线视频 | 日韩免费精品 | 色国产视频 | 国产 日韩 在线 亚洲 字幕 中文 | 色婷婷免费 | 久久 精品一区 | 超碰在线亚洲 | 91av电影在线 | 国产九九九视频 | 亚洲天堂网视频 | 国产免费视频在线 | 97国产| 成人三级黄色 | 香蕉精品视频在线观看 | 欧美午夜精品久久久久久孕妇 | 992tv成人免费看片 | 在线观看视频免费大全 | 亚洲女同videos | 丁香婷婷自拍 | 在线播放视频一区 | 国产高清日韩欧美 | 中文一区二区三区在线观看 | 999热视频| 国产精品精品视频 | a黄色一级| 国产视频精品免费播放 | 国产成人精品一区二区三区网站观看 | 九九视频在线播放 | 久久久这里有精品 | 日韩欧美在线视频一区二区三区 | 欧美极度另类性三渗透 | 99久久久久久国产精品 | 高清不卡免费视频 | 国产精品 中文在线 | 99在线精品免费视频九九视 | 黄在线| 国产精品婷婷午夜在线观看 | 在线观看www. | 欧美日韩中文另类 | av在线播放亚洲 | 500部大龄熟乱视频 欧美日本三级 | 成人h视频在线播放 | 亚洲涩涩网 | 亚洲成人在线免费 | 麻花传媒mv免费观看 | 亚洲精品1234区 | 精品电影一区二区 | 日韩不卡高清视频 | 国内久久视频 | 91精品视屏 | 日本成址在线观看 | 免费精品| 国产精品一区二区久久久久 | 日日射av| 91在线永久 | 中文字幕影片免费在线观看 | 亚洲欧美国产视频 | 国产黄色精品在线 | 黄色一及电影 | 免费av试看 | 一区二区 久久 | 亚洲精品中文字幕在线 | 97韩国电影 | 综合在线观看 | 欧美激情精品久久久久 | 97视频免费播放 | 国产欧美中文字幕 | 精品免费观看 | 99精品国自产在线 | 福利二区视频 | 久草在线手机观看 | 国产免费中文字幕 | www.黄色在线 | 久久久久久亚洲精品 | 国产精品一区二区三区免费看 | 色欧美日韩 | 国产精品 日韩精品 | av高清一区二区三区 | 精品一区二区精品 | 久久久精品福利视频 | 精品免费久久久久久 | 国产精品高清一区二区三区 | 亚洲国产成人精品久久 | 一级全黄毛片 | 五月花丁香婷婷 | 国产黄色片在线免费观看 | 玖玖爱在线观看 | 久久国产精品久久精品 | 午夜私人影院 | 狠狠色狠狠色终合网 | 久久露脸国产精品 | 西西大胆啪啪 | 欧美日韩裸体免费视频 | 99草在线视频 | 国产精品久久久久久久久久久杏吧 | 97超碰.com| 西西4444www大胆无视频 | 色资源在线观看 | wwwav视频| 亚洲人成人天堂h久久 | 日韩中文字幕视频在线观看 | 97超碰成人 | 91桃色视频 | 国产免费观看久久黄 | 麻豆视频在线观看 | 中文字幕高清免费日韩视频在线 | 6080yy午夜一二三区久久 | 九九热精品国产 | 91日韩在线| 亚洲一区久久 | 国产午夜精品久久久久久久久久 | 四虎国产精品免费观看视频优播 | 欧美性色网站 | 日韩欧美在线观看一区二区三区 | 三级在线视频观看 | 丁香婷婷激情 | 日韩欧美在线观看 | 色综合久久88色综合天天6 | 日韩一级电影在线 | 在线精品亚洲一区二区 | 久久久久久国产精品美女 | 日批在线看 | 国产精品成人免费精品自在线观看 | 亚洲成人频道 | 亚洲视频专区在线 | 91精品国产91久久久久久三级 | 偷拍精偷拍精品欧洲亚洲网站 | 国产一级二级在线观看 | av福利在线免费观看 | 欧美日韩在线精品一区二区 | 国产伦精品一区二区三区在线 | 日韩午夜在线观看 | 在线日本看片免费人成视久网 | 一级一片免费看 | 精品久久久久久久 | 亚洲精品网站 | 国际av在线 | 瑞典xxxx性hd极品 | 麻豆国产精品一区二区三区 | 中文字幕三区 | 国产精品18毛片一区二区 | 国产99久久精品一区二区永久免费 | 天天超碰| 国产成人精品综合久久久 | 婷婷丁香导航 | 亚洲高清视频在线播放 | 日日日天天天 | 中文字幕在线高清 | 成人在线视频一区 | 欧美电影在线观看 | 国内精品久久久精品电影院 | 丁香激情综合 | 免费在线观看av网站 | 色噜噜色噜噜 | 欧美午夜久久久 | 国产精品婷婷 | 精品国产乱码久久久久久久 | 婷婷五情天综123 | 中文字幕 国产精品 | 婷婷久久精品 | 97人人爽| 欧美一级日韩三级 | 免费日韩 精品中文字幕视频在线 | 国产精品久久久久久模特 | 一级片视频在线 | 九九久久久久久久久激情 | 五月天激情综合 | 肉色欧美久久久久久久免费看 | 奇米影视8888 | 国产区av在线 | 久久免费视频在线 | 91av观看 | 国产经典av| 色综合天天天天做夜夜夜夜做 | 丰满少妇在线观看 | 在线看国产一区 | 91人人爽久久涩噜噜噜 | www黄com | 欧美一区二区三区特黄 | 精品国产伦一区二区三区 | 国产成人免费高清 | 日本高清dvd | 久久久一本精品99久久精品66 | 91免费高清| 国产又粗又长的视频 | 成人一区二区在线观看 | 激情五月婷婷综合 | 人人讲下载 | 成年免费在线视频 | 亚洲综合色网站 | 久久综合偷偷噜噜噜色 | 91探花视频| 久青草视频在线观看 | 亚洲视频在线观看免费 | 91精品在线观看视频 | 黄色毛片在线观看 | 808电影免费观看三年 | 中文国产字幕在线观看 | 黄色三级免费片 | 亚洲国产精品日韩 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 九色视频网| 在线观看亚洲a | 久热香蕉视频 | 99久久er热在这里只有精品66 | 免费av在线播放 | 91麻豆精品91久久久久同性 | 国产精品久久av | 免费网站色 | 99久热在线精品 | 国产精品完整版 | 天天天干夜夜夜操 | 一级性视频 | 日韩久久精品一区二区三区 | 日韩久久激情 | 成人黄色电影免费观看 | 中文字幕一区二区三区在线视频 | 久久久免费观看完整版 | 在线只有精品 | 成 人 黄 色 视频免费播放 | 天天操天天干天天 | 免费看三级 | 日韩中文字幕在线 | 精品国产一区二区三区av性色 | 亚洲一级电影视频 | 欧美亚洲精品一区 | 午夜精品一区二区三区视频免费看 | 天堂av免费观看 | 午夜精品电影 | 中文字幕一区二区三区在线观看 | 韩国av免费在线观看 | av免费试看 | 久久成人国产精品免费软件 | 国产麻豆精品在线观看 | 91自拍视频在线观看 | 99av国产精品欲麻豆 | 久久久久久综合网天天 | 99电影456麻豆 | 丁香综合五月 | 国产精品18久久久久久vr | 婷婷九月激情 | 国产精品久久久久久久久岛 | 一区二区精品在线 | 97超碰福利久久精品 | 六月激情网 | 国产黄在线免费观看 | 日韩免费视频一区二区 | 99精品国产高清在线观看 | 香蕉手机在线 | 久久a级片 | 日本韩国精品一区二区在线观看 | 青青草国产精品 | 国产不卡av在线播放 | 成人免费共享视频 | 日韩精品免费一线在线观看 | 丁香免费视频 | 91久久国产露脸精品国产闺蜜 | 在线黄频| 国产一级片免费观看 | 国产视频网站在线观看 | 蜜臀av性久久久久蜜臀av | 国产亚洲日本 | 国产精品久久久久久久久久久杏吧 | 国产又粗又猛又色 | 国产精品美女久久久久久久久久久 | 欧美日韩在线免费观看 | 国产免费小视频 | 99在线视频网站 | 久久激情五月婷婷 | 久久国产精品99久久人人澡 | 91九色在线 | 中文字幕 欧美性 | 日本久久影视 | 九九精品毛片 | 日韩av电影网站在线观看 | 日b视频在线观看网址 | 操处女逼 | 久久久国产精品麻豆 | 天天想夜夜操 | 国产精品videossex国产高清 | 国产亚洲午夜高清国产拍精品 | 在线观看不卡视频 | 一区二区精 | 国产69精品久久久久99尤 | 日韩免费观看一区二区三区 | 久久国产精品久久国产精品 | 日韩欧美99 | 在线久草视频 | 美女免费网站 | 国产一区二区在线播放 | 超碰在线中文字幕 | 亚洲精品免费播放 | 成人av一二三区 | 97精品视频在线播放 | 国产精品黄网站在线观看 | 久久久久久蜜av免费网站 | 激情网站 | 91亚色视频 | 国产精品久久久久久久免费观看 | 久久久久久久久久久黄色 | 亚洲成a人片在线观看网站口工 | 色综合天天射 | 久草视频在线免费 | 一区二区日韩av | 国产黄色视| av一区二区在线观看中文字幕 | 成人国产精品久久久久久亚洲 | 成人久久毛片 | 亚洲激情校园春色 | 中文在线www| 激情影院在线观看 | 日韩激情小视频 | 日韩理论电影在线 | 久久这里只有精品首页 | 中文字幕在线播放日韩 | 国产在线精品一区二区不卡了 | 最新日韩在线观看 | 十八岁免进欧美 | 在线观看视频在线 | 天天干视频在线 | 国产精品com | 久久久久久黄 | 中文字幕精品一区久久久久 | 国产精品久久久久av | 日本久久久亚洲精品 | 国产午夜影院 | 久久综合精品一区 | 国产午夜一区二区 | 中文字幕色婷婷在线视频 | 久久草网 | 嫩草av在线 | 成人a视频| 91高清在线看 | 欧美日韩精品在线一区二区 | 九九免费在线视频 | 99精品观看| 一级黄视频 | 日韩免费视频一区二区 | 日韩av中文在线观看 | 啪啪免费观看网站 | 黄色成人毛片 | 日本少妇高清做爰视频 | 国产91九色蝌蚪 | 狠狠色丁香婷婷综合久久片 | 天天干,天天干 | 一区二区视频在线播放 | 日韩免费三区 | 亚洲精品在线免费 | 婷婷激情在线 | 久久高清片 | 日韩精品一区二区三区视频播放 | 天天操天天干天天操天天干 | 九九在线视频免费观看 | 国产免码va在线观看免费 | 91亚洲永久精品 | 国产精品久久久久久久久久三级 | 日韩黄色免费在线观看 | 五月婷婷激情网 | 成年人免费看的视频 | 天天做天天射 | 日韩欧美精品在线观看 | 欧美福利久久 | 婷婷成人亚洲综合国产xv88 | 久久精品视 | 亚洲精品456在线播放 | av千婊在线免费观看 | 亚洲综合小说电影qvod | 色婷婷亚洲精品 | 婷婷精品国产一区二区三区日韩 | 国产99亚洲 | 成人免费在线网 | 中文在线字幕免费观看 | 国产精品久久久区三区天天噜 | 亚洲男男gaygay无套 | 国产在线一区二区 | 久久电影国产免费久久电影 | 日韩欧美一区二区不卡 | 天天综合导航 | 日韩一级片大全 | 久久精品一区二区三 | 国产精品一区二区三区在线免费观看 | 国产成人精品在线观看 | 日韩电影在线观看一区二区三区 | 国产老妇av| 美女视频黄网站 | 久久天天拍 | 日韩欧美在线观看一区二区三区 | 国产精品免费视频网站 | 久久av福利 | 久久全国免费视频 | 久久精品综合一区 | 婷婷新五月 | 国产精品成人免费 | 成年人在线观看免费视频 | 天天骚夜夜操 | 国产精品21区 | 这里只有精品视频在线观看 | 日韩av免费一区二区 | 亚洲精品国产精品国自产 | 免费看91的网站 | 亚洲欧美国产日韩在线观看 | 久久久综合精品 | 国产一区二区精品在线 | 91精品免费在线视频 | 黄色大片av| 国产一区二区三区免费在线观看 | 欧美在线观看视频一区二区三区 | 国产露脸91国语对白 | 国产精品av在线免费观看 | 午夜视频一区二区 | 色综合婷婷 | av电影免费看 | 久操97| 中文字幕亚洲高清 | 国产精品久久久一区二区 | 国产免费久久av | 亚洲精品自在在线观看 | 欧美日韩激情视频8区 | 久久久久久久久国产 | 丁香九月激情 | 99国产精品视频免费观看一公开 | 成人性生交大片免费看中文网站 | 日韩欧美视频在线观看免费 | 一区二区三区免费在线播放 | 久久久电影 | 一区二区精品久久 | 国产精品99久久久久的智能播放 | www.伊人色.com | 在线国产一区二区三区 | 国产精品无av码在线观看 | 免费看的黄网站软件 | 国产精品九九久久99视频 | 狠狠插天天干 | 人人射| 免费观看v片在线观看 | 天天干天天怕 | 99精品欧美一区二区三区黑人哦 | 久久视频99| 人人干免费 | 午夜18视频在线观看 | 丁香5月婷婷 | 国产成人av电影在线观看 | 在线观看国产区 | 国产99久久九九精品 | www.五月天婷婷 | 97国产精品亚洲精品 | 久久观看免费视频 | 国产一级电影免费观看 | 亚洲一级特黄 | 91尤物国产尤物福利在线播放 | 少妇bbw揉bbb欧美 | 人人澡人人舔 | 青春草国产视频 | 伊人黄色网 | 国产精品中文字幕av | www.黄色小说.com | 国产精品伦一区二区三区视频 | 国产精品24小时在线观看 | 一本—道久久a久久精品蜜桃 | 日韩精品专区在线影院重磅 | 久久精品视频免费观看 | 日韩av电影国产 | 久久午夜电影院 | 亚洲国产福利视频 | 精品久久一区二区三区 | 久久日韩精品 | 久久久久北条麻妃免费看 | 色中文字幕在线观看 | 免费看片黄色 | 亚洲视频每日更新 | 1024手机基地在线观看 | 天天天天天天操 | 色综合亚洲精品激情狠狠 | 一区二区三区影院 | 黄色成人影院 | 懂色av一区二区三区蜜臀 | 天天摸天天干天天操天天射 | 国产成人精品在线 | 国产精品电影一区 | 国产成人333kkk | 日韩在线精品一区 | 在线观看成人福利 | 亚洲成av人片在线观看 | 亚洲精品在线网站 | 天天天干夜夜夜操 | 国产 一区二区三区 在线 | 久久久久久久久免费视频 | 国产精品视频久久久 | 黄色毛片一级 | 中文字幕久久久精品 | 久久天天躁狠狠躁亚洲综合公司 | 免费一级特黄毛大片 | 亚洲天堂网在线观看视频 | 国产亚洲精品成人av久久影院 | 91看片在线免费观看 | 狠狠色丁香婷婷综合 | 天天爽夜夜爽精品视频婷婷 | 国产精品原创在线 | 少妇自拍av | 色五月色开心色婷婷色丁香 | aaa日本高清在线播放免费观看 | 久久视频免费在线 | 97在线观看免费观看 | 成人av在线影视 | 成人三级黄色 | 很黄很黄的网站免费的 | 四虎在线观看视频 | 国产精品嫩草在线 | 麻豆国产精品视频 | 在线播放精品一区二区三区 | 亚洲国产精品一区二区尤物区 | 欧美精品国产精品 | 亚洲精品在线看 | 国产一区二区久久精品 | 国产一级在线观看 | 国产精品久久久久久久免费 | 黄色小网站免费看 | 狠狠操狠狠 | 日b黄色片 | 夜夜爽88888免费视频4848 | 久热国产视频 | 国产在线看 | 在线 你懂 | 成人教育av | 天天做天天爱天天爽综合网 | 色婷婷成人 | 91成人精品在线 | 亚洲成人频道 | 日韩高清在线一区 | 香蕉精品视频在线观看 | 成人 国产 在线 | 久久精品这里都是精品 | 日韩精品免费一区二区在线观看 | 97在线观看视频 | 国产精品原创 | 国产美女视频免费 | 午夜 久久 tv | 91污视频在线 | 国产精品手机在线 | 婷婷综合导航 | 天天干,天天草 | 婷婷中文在线 | 黄色中文字幕在线 | 91精品啪在线观看国产81旧版 | 中文字幕有码在线观看 | 射久久久 | 国产精品久久久久久久午夜 | 手机看片午夜 | 五月婷婷六月丁香激情 | 亚洲最新在线视频 | 免费日韩一区二区三区 | 国产片免费在线观看视频 | japanesexxxhd奶水| www国产亚洲精品久久网站 | 天天射天天射天天 | 激情综合色综合久久综合 | 国产护士在线 | 久久精品国产一区二区电影 | 亚洲成人资源在线观看 | 五月天激情在线 | 色婷婷在线视频 | 精品91| 91av在线免费观看 | 天堂av观看 | 免费视频你懂的 | 97成人资源站 | 欧美成人xxxx| а天堂中文最新一区二区三区 | 午夜精品久久久久久久久久久 | 在线观看成人国产 | 51久久夜色精品国产麻豆 | 天天摸天天舔 | 麻豆传媒视频在线免费观看 | 免费看黄色毛片 | 欧美一级电影免费观看 | 国产高清 不卡 | 国内精品久久久久久 | av高清免费 | 国产黄色片久久 | 在线欧美小视频 | 国产成人精品免费在线观看 | 日韩高清一二区 | 免费观看一级成人毛片 | 最新免费av在线 | 激情在线网址 | 97超碰人人网 | 国产成人精品一区二区在线观看 | 在线观看成人一级片 | 黄色在线观看污 | 欧美激情视频在线免费观看 | 狠狠夜夜 | 亚洲第二色 | 日韩三级在线 | 欧洲一区二区在线观看 | 99 视频 高清| 亚洲 精品在线视频 | 日韩精品久久久久久久电影竹菊 | 午夜在线观看 | 天天天干天天天操 | www,黄视频 | 久久69精品| 天天玩天天操天天射 | 99色在线视频 | 97国产精品一区二区 | 丁香五月亚洲综合在线 | 99久久婷婷国产综合精品 | 久久免费av电影 | 日韩欧美在线不卡 | 在线a亚洲视频播放在线观看 | 久久婷婷国产色一区二区三区 | 一区二区三区高清在线观看 | 97精品久久人人爽人人爽 | 青青草国产精品 | 日韩美一区二区三区 | 久久精品波多野结衣 | 国产二区精品 | 天天色天天操天天爽 | 久草在线综合网 | 国产精品日韩在线观看 | 欧美久久影院 | 夜夜看av| 四虎影视8848dvd | 久草观看视频 | 久久久久久美女 | 国产精品自拍在线 | 日韩在线欧美在线 | 日本久久影视 | 日韩av一区二区三区 | 国产一级黄色免费看 | 天天射一射 | 国产视频中文字幕 | 久久综合久色欧美综合狠狠 | 91久久人澡人人添人人爽欧美 | 亚洲一区在线看 | 国产精品久久久久久久久久久免费 | 日韩三级一区 | 99婷婷 | 色多多污污在线观看 | 中文字幕高清在线播放 | 天天操天操 | 日韩免费观看av | 欧美一级乱黄 | 日日夜日日干 | 中文字幕婷婷 | 天天爱综合 | 丁香六月婷婷开心婷婷网 | 天天草天天干天天 | 久草国产在线 | 中文字幕欧美三区 | 国产精品永久免费在线 | 2019免费中文字幕 | 在线精品视频免费观看 | 美女久久久久久久久久久 | av在观看 | 去看片| 香蕉视频18| 久综合网 | 91视频最新网址 | 色欧美视频| 久二影院 | 毛片的网址 | 一级欧美日韩 | www日韩视频 | 国产精品免费人成网站 | 久草热久草视频 | 欧美日韩aaaa | 久草视频免费播放 | 99精品欧美一区二区三区 | 欧美最猛性xxx| 精品久久久久久久久久久院品网 | 日韩精品极品视频 | 一本一本久久a久久精品综合小说 | 久久免费黄色网址 | 亚洲精品国产精品国自 | 久久婷婷开心 | 日韩精品一区二区免费视频 | 天天激情| 欧美在线18| 夜添久久精品亚洲国产精品 | 激情久久小说 | 日韩av午夜在线观看 | 狠狠色丁香久久婷婷综合五月 | 日日干 天天干 | 日韩v欧美v日本v亚洲v国产v | 日韩免费播放 | 亚洲精品9 | av在线免费观看网站 | 成人在线免费视频观看 | 天天激情天天干 | 免费在线观看黄色网 | 97成人资源站 | 中文字幕国产精品一区二区 | 日韩免费一区二区三区 | 国产精品精品久久久久久 | 视频 天天草 | av高清免费在线 | 国产美女在线免费观看 | 日韩精品一区二区三区高清免费 | 香蕉91视频| 亚洲第一中文字幕 | 久久久精品成人 | 成年人毛片在线观看 | 欧美乱码精品一区 | 国产成人一区二区在线观看 | 99久在线精品99re8热视频 | 超碰在线99| 国产一二三区在线观看 | 992tv在线观看 | 国产h在线播放 | 国产主播大尺度精品福利免费 | 国产色综合 | 婷婷综合在线 | 欧美va天堂va视频va在线 | 国产伦理久久精品久久久久_ | 91丨九色丨国产在线观看 | 国产精品国产三级国产aⅴ无密码 | 久久伊人免费视频 | 九九视频精品免费 | 在线免费黄色av | 国产精品区免费视频 | 少妇做爰k8经典 | 西西大胆啪啪 | 久草国产在线 | 亚洲日本va午夜在线影院 | 久久99国产一区二区三区 | 欧美性生活免费看 | 婷婷久久丁香 | 日本精品二区 | 在线观看久久久久久 | 国产一级在线视频 | 不卡的av在线播放 | 中文字幕免费观看全部电影 | 黄污视频网站 | 久草免费新视频 | 久久桃花网 | 中文字幕视频免费观看 | 久久精品视频日本 | 日韩精品免费一区二区在线观看 | 成人资源在线观看 | 91九色视频网站 | 日韩最新av在线 | 中文字幕在线色 | 欧美网址在线观看 | 日本69hd | 色婷婷狠狠五月综合天色拍 | 亚洲码国产日韩欧美高潮在线播放 | 国产香蕉在线 | 国产成人精品日本亚洲999 | 亚洲精品国偷拍自产在线观看 | 免费高清看电视网站 | 日韩视频在线一区 | 97超碰在线久草超碰在线观看 | 国产精品网红福利 | 国产无遮挡又黄又爽馒头漫画 | 天天综合网天天 | 日韩欧美精品在线观看 | 最新日本中文字幕 | 99久久精品无码一区二区毛片 | 久久在线播放 | 久久一精品| 精品电影一区二区 | 808电影免费观看三年 | 激情喷水 | 日本精品久久久久影院 | 色婷婷中文 | 国产五月| 夜夜视频欧洲 | 激情五月婷婷激情 | 日韩欧美在线观看 | 美腿丝袜一区二区三区 | 九九精品久久 | 成人免费在线观看入口 | 麻豆视频成人 | 久久国产视频网站 | 久草视频精品 | 成人影视免费看 | av一级免费 | 国产原创av在线 | 久久人操| 久久久黄色免费网站 | www.神马久久 | 日韩亚洲欧美中文字幕 | 欧美ⅹxxxxxx | www久久国产 | 美女免费网站 | 午夜精品成人一区二区三区 | 丁香高清视频在线看看 | 久久久久久久久久电影 | 欧美亚洲国产精品久久高清浪潮 | 国产精品一区专区欧美日韩 | 午夜精品久久久久久久久久久久久久 | 色婷婷综合视频在线观看 | 免费观看91视频大全 | 超碰97免费观看 | 日韩网站在线免费观看 | 亚洲在线精品视频 | 91精品国产亚洲 | 日一日操一操 | 日韩精品久久久 | 久草在线99 | 日韩视频中文字幕在线观看 | 国产精品美女视频网站 | www久| 精品美女久久久久久免费 | 久久在线观看 | 亚洲国产精品第一区二区 | 日本黄区免费视频观看 | 婷婷亚洲五月 | 国产精品99久久久久久武松影视 | 国产精品入口66mio女同 | 麻豆高清免费国产一区 | 国产69精品久久久久99尤 | 亚洲第一区在线播放 | 中文国产字幕 | 日本成址在线观看 | 色婷五月天| 亚洲第一中文网 | 天天综合成人网 | 国产精品麻 | 99久久精品免费看国产一区二区三区 | 日韩三级不卡 | 国色天香永久免费 | 色综合久久99 | 在线观看免费黄视频 | av午夜电影 | 又黄又爽又刺激 | 日本少妇久久久 | 国产在线毛片 | 伊人久久av | 亚洲精品毛片一级91精品 | 天天综合网~永久入口 | 国产99久久久国产精品免费看 | 亚洲一区二区三区毛片 | 午夜精品电影 | 天天操天天干天天 | 久久久久久久18 | 国产日韩在线看 | 国产激情电影综合在线看 | 欧美色图30p | 激情视频一区二区三区 | 在线黄色av电影 | 特级毛片在线观看 | 日韩精品在线播放 | 亚洲成人黄 | 国产偷国产偷亚洲清高 | 美女视频黄免费网站 | 国内99视频 | 国产精品美女久久久久久久网站 | 精品国产免费av | 久操视频在线免费看 | 91香蕉视频720p | 操久久免费视频 | 日韩精品一区二区免费 | 亚洲欧洲精品一区二区精品久久久 | 日韩一区二区三区高清在线观看 | 国产高清无av久久 | 欧美在线日韩在线 | 国产精品久久久久久久久久三级 | 日韩精品免费一线在线观看 | 日本精品中文字幕在线观看 | 午夜免费视频网站 | 欧美日韩二区三区 | 又粗又长又大又爽又黄少妇毛片 | 一级黄色片在线 | 香蕉视频啪啪 | 国产精品99蜜臀久久不卡二区 | a在线一区 | 国产精品破处视频 | 国产一区二区在线看 | 久99久在线视频 | 激情综合五月网 | 中文视频一区二区 | 国产精品久久久久久69 | 中文字幕一区二区三区精华液 | 色噜噜在线观看视频 | 久久久天堂 | 制服丝袜亚洲 | 日韩成年视频 | 国产成人久久久77777 | 一区二区三区在线播放 | 中文字幕888| 国产成人精品一区二区三区免费 | 精品亚洲在线 | 人人插人人澡 | 日韩最新在线视频 | 中文av一区二区 | 高清视频一区 | 欧美日韩三区二区 | 亚洲 精品在线视频 | 欧美日韩国产二区 | 亚洲国产精品成人精品 | 国内精品久久久久影院一蜜桃 | 97视频在线观看免费 | av黄色免费看 | 久9在线| 夜夜夜夜猛噜噜噜噜噜初音未来 | 色在线视频网 | 久久精品中文字幕少妇 | 国产高清一 | 超碰在线日本 | 午夜免费福利片 | 激情久久综合 | 久久久久国产精品视频 | 成人精品国产 | 在线观看网站黄 | 欧美激情片在线观看 | 国产精品美 | 欧美日韩性生活 | 久草免费色站 | 免费网站看v片在线a | 91九色porny在线 | 国产成人在线综合 | www色com| 99久久99久久精品国产片果冰 | 欧美日韩精品电影 | 久久久久久久久久久久久久电影 | 久久激情五月婷婷 | www.婷婷色| 久久精品99久久 | 久久久99精品免费观看app | 国产精品电影一区 | 操操操夜夜操 | 成人影片在线免费观看 | 成人av中文字幕在线观看 | 国内偷拍精品视频 | 亚洲成av人片 | 国产视频精选在线 | 中文字幕成人在线 | 在线a视频免费观看 | 亚洲国产精品电影 | 国产黄a三级 | 欧美久久久久久久久久 | 国产一级电影网 | 免费99视频| 天天操天天弄 | 色综合久久综合中文综合网 | 激情视频亚洲 | 国产精品成人一区二区 | 91丨九色丨国产在线 | 奇米影音四色 | 人人爽人人做 | 九色精品免费永久在线 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 成人播放器 | 中文字幕中文中文字幕 | 日韩精品久久久久久中文字幕8 | 国产精品麻豆果冻传媒在线播放 | 国产我不卡| 成人午夜网址 | 欧美特一级片 | 欧美久久久久久久久久久 | 国产精品美女久久久网av |