YUV / RGB 格式及快速轉換

YUV是指亮度參量和色度參量分開表示的像素格式,而這樣分開的好處就是不但可以避免相互干擾,還可以降低色度的采樣率而不會對圖像質量影響太大。 YUV是一個比較籠統地說法,針對它的具體排列方式,可以分為很多種具體的格式。轉載一篇對yuv格式解釋的比較清楚地文章,也可以直接參考微軟的那篇文 章。

對于YUV格式,比較原始的講解是MPEG-2 VIDEO部分的解釋,當然后來微軟有一個比較經典的解釋,中文的大多是翻譯這篇文章的。文章來源:http://msdn.microsoft.com/en-us/library/aa904813(VS.80).aspx

這里轉載有人已經翻譯過的,個人認為已經翻譯的很不錯了,遂放棄翻譯。

http://hondrif82q.spaces.live.com/blog/cns!776E82726DE60562!177.entry

http://hondrif82q.spaces.live.com/blog/cns!776E82726DE60562!178.entry

YUV格式解析1(播放器——project2)

根據板卡api設計實現yuv420格式的視頻播放器
打開*.mp4;*.264類型的文件,實現其播放。
使用的視頻格式是YUV420格式
YUV格式通常有兩大類:打包(packed)格式和平面(planar)格式。前者將YUV分量存放在同一個數組中,通常是幾個相鄰的像素組 成一個宏像素(macro-pixel);而后者使用三個數組分開存放YUV三個分量,就像是一個三維平面一樣。表2.3中的YUY2到Y211都是打包 格式,而IF09到YVU9都是平面格式。(注意:在介紹各種具體格式時,YUV各分量都會帶有下標,如Y0、U0、V0表示第一個像素的YUV分 量,Y1、U1、V1表示第二個像素的YUV分量,以此類推。)
MEDIASUBTYPE_YUY2?YUY2格式,以4:2:2方式打包
MEDIASUBTYPE_YUYV?YUYV格式(實際格式與YUY2相同)
MEDIASUBTYPE_YVYU?YVYU格式,以4:2:2方式打包
MEDIASUBTYPE_UYVY?UYVY格式,以4:2:2方式打包
MEDIASUBTYPE_AYUV 帶Alpha通道的4:4:4?YUV格式
MEDIASUBTYPE_Y41P?Y41P格式,以4:1:1方式打包
MEDIASUBTYPE_Y411?Y411格式(實際格式與Y41P相同)
MEDIASUBTYPE_Y211?Y211格式
MEDIASUBTYPE_IF09 IF09格式
MEDIASUBTYPE_IYUV IYUV格式
MEDIASUBTYPE_YV12 YV12格式
MEDIASUBTYPE_YVU9 YVU9格式
表2.3

YUV 采樣

YUV 的優點之一是,色度頻道的采樣率可比 Y 頻道低,同時不會明顯降低視覺質量。有一種表示法可用來描述 U 和 V 與 Y 的采樣頻率比例,這個表示法稱為 A:B:C 表示法:

?

4:4:4 表示色度頻道沒有下采樣。

?

4:2:2 表示 2:1 的水平下采樣,沒有垂直下采樣。對于每兩個 U 樣例或 V 樣例,每個掃描行都包含四個 Y 樣例。

?

4:2:0 表示 2:1 的水平下采樣,2:1 的垂直下采樣。

?

4:1:1 表示 4:1 的水平下采樣,沒有垂直下采樣。對于每個 U 樣例或 V 樣例,每個掃描行都包含四個 Y 樣例。與其他格式相比,4:1:1 采樣不太常用,本文不對其進行詳細討論。

圖 1 顯示了 4:4:4 圖片中使用的采樣網格。燈光樣例用叉來表示,色度樣例則用圈表示。


圖 1. YUV 4:4:4 樣例位置

4:2:2 采樣的這種主要形式在 ITU-R Recommendation BT.601 中進行了定義。圖 2 顯示了此標準定義的采樣網格。


圖 2. YUV 4:2:2 樣例位置

4:2:0 采樣有兩種常見的變化形式。其中一種形式用于 MPEG-2 視頻,另一種形式用于 MPEG-1 以及 ITU-T recommendations H.261 和 H.263。圖 3 顯示了 MPEG-1 方案中使用的采樣網格,圖 4 顯示了 MPEG-2 方案中使用的采樣網格。


圖 3. YUV 4:2:0 樣例位置(MPEG-1 方案)


圖 4. YUV 4:2:0 樣例位置(MPEG-2 方案)

與 MPEG-1 方案相比,在 MPEG-2 方案與為 4:2:2 和 4:4:4 格式定義的采樣網格之間進行轉換更簡單一些。因此,在 Windows 中首選 MPEG-2 方案,應該考慮將其作為 4:2:0 格式的默認轉換方案。

表面定義

本節講述推薦用于視頻呈現的 8 位 YUV 格式。這些格式可以分為幾個類別:

?

?

4:4:4 格式,每像素 32 位

?

4:2:2 格式,每像素 16 位

?

4:2:0 格式,每像素 16 位

?

4:2:0 格式,每像素 12 位

首先,您應該理解下列概念,這樣才能理解接下來的內容:

?

?

表面原點。對于本文講述的 YUV 格式,原點 (0,0) 總是位于表面的左上角。

?

跨距。表面的跨距,有時也稱為間距,指的是表面的寬度,以字節數表示。對于一個表面原點位于左上角的表面來說,跨距總是正數。

?

對齊。表面的對齊是根據圖形顯示驅動程序的不同而定的。表面始終應該 DWORD 對齊,就是說,表面中的各個行肯定都是從 32 位 (DWORD) 邊界開始的。對齊可以大于 32 位,但具體取決于硬件的需求。

?

打包格式與平面格式。YUV 格式可以分為打包 格式和平面 格式。在打包格式中,Y、U 和 V 組件存儲在一個數組中。像素被組織到了一些巨像素組中,巨像素組的布局取決于格式。在平面格式中,Y、U 和 V 組件作為三個單獨的平面進行存儲。

4:4:4 格式,每像素 32 位

推薦一個 4:4:4 格式,FOURCC 碼為 AYUV。這是一個打包格式,其中每個像素都被編碼為四個連續字節,其組織順序如下所示。


圖 5. AYUV 內存布局

標記了 A 的字節包含 alpha 的值。

4:2:2 格式,每像素 16 位

支持兩個 4:2:2 格式,FOURCC 碼如下:

?

?

YUY2

?

UYVY

兩個都是打包格式,其中每個巨像素都是編碼為四個連續字節的兩個像素。這樣會使得色度水平下采樣乘以系數 2。

YUY2

在 YUY2 格式中,數據可被視為一個不帶正負號的?char?值組成的數組,其中第一個字節包含第一個 Y 樣例,第二個字節包含第一個 U (Cb) 樣例,第三個字節包含第二個 Y 樣例,第四個字節包含第一個 V (Cr) 樣例,如圖 6 所示。


圖 6. YUY2 內存布局

如果該圖像被看作由兩個 little-endian?WORD?值組成的數組,則第一個?WORD?在最低有效位 (LSB) 中包含 Y0,在最高有效位 (MSB) 中包含 U。第二個?WORD?在 LSB 中包含 Y1,在 MSB 中包含 V。

YUY2 是用于 Microsoft DirectX? Video Acceleration (DirectX VA) 的首選 4:2:2 像素格式。預期它會成為支持 4:2:2 視頻的 DirectX VA 加速器的中期要求。

UYVY

此格式與 YUY2 相同,只是字節順序是與之相反的 — 就是說,色度字節和燈光字節是翻轉的(圖 7)。如果該圖像被看作由兩個 little-endian?WORD?值組成的數組,則第一個?WORD?在 LSB 中包含 U,在 MSB 中包含 Y0,第二個?WORD?在 LSB 中包含 V,在 MSB 中包含 Y1。


圖 7. UYVY 內存布局

4:2:0 格式,每像素 16 位

推薦兩個 4:2:0 每像素 16 位格式,FOURCC 碼如下:

?

?

IMC1

?

IMC3

兩個 FOURCC 碼都是平面格式。色度頻道在水平方向和垂直方向上都要以系數 2 來進行再次采樣。

IMC1

所有 Y 樣例都會作為不帶正負號的?char?值組成的數組首先顯示在內存中。后面跟著所有 V (Cr) 樣例,然后是所有 U (Cb) 樣例。V 和 U 平面與 Y 平面具有相同的跨距,從而生成如圖 8 所示的內存的未使用區域。


圖 8. IMC1 內存布局

IMC3

此格式與 IMC1 相同,只是 U 和 V 平面進行了交換:


圖 9. IMC3 內存布局

4:2:0 格式,每像素 12 位

推薦四個 4:2:0 每像素 12 位格式,FOURCC 碼如下:

?

?

IMC2

?

IMC4

?

YV12

?

NV12

在所有這些格式中,色度頻道在水平方向和垂直方向上都要以系數 2 來進行再次采樣。

IMC2

此格式與 IMC1 相同,只是 V (Cr) 和 U (Cb) 行在半跨距邊界處進行了交錯。換句話說,就是色度區域中的每個完整跨距行都以一行 V 樣例開始,然后是一行在下一個半跨距邊界處開始的 U 樣例(圖 10)。此布局與 IMC1 相比,能夠更加高效地利用地址空間。它的色度地址空間縮小了一半,因此整體地址空間縮小了 25%。在各個 4:2:0 格式中,IMC2 是第二首選格式,排在 NV12 之后。


圖 10. IMC2 內存布局

IMC4

此格式與 IMC2 相同,只是 U (Cb) 和 V (Cr) 行進行了交換:


圖 11. IMC4 內存布局

YV12

所有 Y 樣例都會作為不帶正負號的?char?值組成的數組首先顯示在內存中。此數組后面緊接著所有 V (Cr) 樣例。V 平面的跨距為 Y 平面跨距的一半,V 平面包含的行為 Y 平面包含行的一半。V 平面后面緊接著所有 U (Cb) 樣例,它的跨距和行數與 V 平面相同(圖 12)。


圖 12. YV12 內存布局

NV12

所有 Y 樣例都會作為由不帶正負號的?char?值組成的數組首先顯示在內存中,并且行數為偶數。Y 平面后面緊接著一個由不帶正負號的?char值組成的數組,其中包含了打包的 U (Cb) 和 V (Cr) 樣例,如圖 13 所示。當組合的 U-V 數組被視為一個由 little-endian?WORD?值組成的數組時,LSB 包含 U 值,MSB 包含 V 值。NV12 是用于 DirectX VA 的首選 4:2:0 像素格式。預期它會成為支持 4:2:0 視頻的 DirectX VA 加速器的中期要求。

YUV格式解析2

又確認了一下H264的視頻格式——H264支持420的連續或隔行視頻的編碼和解碼
YUV(亦稱YCrCb)是被歐洲電視系統所采用的一種顏色編碼方法(屬于PAL)。YUV主要用于優化彩色視頻信號的傳輸,使其向后兼容老式 黑白電視。與RGB視頻信號傳輸相比,它最大的優點在于只需占用極少的帶寬(RGB要求三個獨立的視頻信號同時傳輸)。其中“Y”表示明亮度 (Luminance或Luma),也就是灰階值;而“U”和“V”表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和 度,用于指定像素的顏色。“亮度”是通過RGB輸入信號來創建的,方法是將RGB信號的特定部分疊加到一起。“色度”則定義了顏色的兩個方面—色調與飽和 度,分別用Cr和CB來表示。其中,Cr反映了GB輸入信號紅色部分與RGB信號亮度值之間的差異。而CB反映的是RGB輸入信號藍色部分與RGB信號亮 度值之同的差異。??
補充一下場的概念——
場的概念不是從DV才開始有的,電視系統已經有了(當然,DV和電視的關系大家都知道)歸根結底還是掃描的問題,具體到PAL制式是:?
每秒25幀,每幀兩場,掃描線(包括電視機的電子束)自上而下先掃描一場,然后再自上而下掃描第二場?
之所以引入場的概念,我的理解是主要為了在有限的帶寬和成本內使畫面運動更加平滑和消除閃爍感。?
這兩個場的掃描線是一條一條互相間隔開的,比如說對于一個幀來講,最上面一條線編號為0,緊挨著的是1,再下來是2,3,4,5,6。。。。那么第一場也許是0,2,4,6;也許是1,3,5,7——這就是隔行掃描?
在逐行掃描模式下,就是掃描線按照0,1,2,3,4,5的順序依次掃描,很明顯,這時候就不存在場的概念了。
下面區分一下YUV和YCbCr
YUV色彩模型來源于RGB模型,
該模型的特點是將亮度和色度分離開,從而適合于圖像處理領域。
應用:模擬領域
Y'= 0.299*R' + 0.587*G' + 0.114*B'
U'= -0.147*R' - 0.289*G' + 0.436*B' = 0.492*(B'- Y')
V'= 0.615*R' - 0.515*G' - 0.100*B' = 0.877*(R'- Y')
R' = Y' + 1.140*V'
G' = Y' - 0.394*U' - 0.581*V'
B' = Y' + 2.032*U'
YCbCr模型來源于YUV模型。YCbCr是 YUV 顏色空間的偏移版本.
應用:數字視頻,ITU-R BT.601建議
Y’ = 0.257*R' + 0.504*G' + 0.098*B' + 16
Cb' = -0.148*R' - 0.291*G' + 0.439*B' + 128
Cr' = 0.439*R' - 0.368*G' - 0.071*B' + 128
R' = 1.164*(Y’-16) + 1.596*(Cr'-128)
G' = 1.164*(Y’-16) - 0.813*(Cr'-128) - 0.392*(Cb'-128)
B' = 1.164*(Y’-16) + 2.017*(Cb'-128)
PS: 上面各個符號都帶了一撇,表示該符號在原值基礎上進行了伽馬校正,伽馬校正有助于彌補在抗鋸齒的過程中,線性分配伽馬值所帶來的細節損失,使圖像細節更加 豐富。在沒有采用伽馬校正的情況下,暗部細節不容易顯現出來,而采用了這一圖像增強技術以后,圖像的層次更加明晰了。
所以說H264里面的YUV應屬于YCbCr.
?
下面再仔細談談YUV格式, YUV格式通常有兩大類:打包(packed)格式和平面(planar)格式。前者將YUV分量存放在同一個數組中,通常是幾個相鄰的像素組成一個宏像 素(macro-pixel);而后者使用三個數組分開存放YUV三個分量,就像是一個三維平面一樣。
我們常說得YUV420屬于planar格式的YUV,?顏色比例如下:
Y0U0V0???????????? Y1???????????????? Y2U2V2????????????????????? Y3
Y4???????????????? Y5???????????????? Y6????????????????????????? Y7
Y8U8V8???????????? Y9???????????????? Y10U10V10?????????????????? Y11
Y12??????????????? Y13??????????????? Y14???????????????????????? Y15
其他格式YUV可以點這里查看詳 細內容, 而在YUV文件中YUV420又是怎么存儲的呢? 在常見H264測試的YUV序列中,例如CIF圖像大小的YUV序列(352*288),在文件開始并沒有文件頭,直接就是YUV數據,先存第一幀的Y信 息,長度為352*288個byte, 然后是第一幀U信息長度是352*288/4個byte, 最后是第一幀的V信息,長度是352*288/4個byte, 因此可以算出第一幀數據總長度是352*288*1.5,即152064個byte, 如果這個序列是300幀的話, 那么序列總長度即為152064*300=44550KB,這也就是為什么常見的300幀CIF序列總是44M的原因.
?

4:4:4采樣就是說三種元素Y,Cb,Cr有同樣的分辨率,這樣的話,在每一個像素點上都對這三種元素進行采樣.數字4是指在水平方向上對于各種 元素的采樣率,比如說,每四個亮度采樣點就有四個Cb的Cr采樣值.4:4:4采樣完整地保留了所有的信息值.4:2:2采樣中(有時記為YUY2),色 度元素在縱向與亮度值有同樣的分辨率,而在橫向則是亮度分辨率的一半(4:2:2表示每四個亮度值就有兩個Cb和Cr采樣.)4:2:2視頻用來構造高品 質的視頻彩色信號.

在流行的4:2:0采樣格式中(常記為YV12)Cb 和Cr在水平和垂直方向上有Y分辨率的一半.4:2:0有些不同,因為它并不是指在實際采樣中使用4:2:0,而是在編碼史中定義這種編碼方法是用來區別 于4:4:4和4:2:2方法的).4:2:0采樣被廣泛地應用于消費應用中,比如視頻會議,數字電視和DVD存儲中。因為每個顏色差別元素中包含了四分 之一的Y采樣元素量,那么4:2:0YCbCr視頻需要剛好4: 4:4或RGB視頻中采樣量的一半。

4:2:0采樣有時被描述是一個"每像素12位"的方法。這么說的原因可以從對四個像素的采樣中看出. 使用4:4:4采樣,一共要進行12次采樣,對每一個Y,Cb和Cr,就需要12*8=96位,平均下來要96/4=24位。使用4:2:0就需要6*8 =48位,平均每個像素48/4=12位。

在一個4:2:0隔行掃描的視頻序列中,對應于一個完整的視頻幀的Y,Cb,Cr采樣分配到兩個場中。可以得到,隔行掃描的總采樣數跟漸進式掃描中使用的采樣數目是相同的。

對比一下:
Y41P(和Y411) (packed格式)格式為每個像素保留Y分量,而UV分量在水平方向上每4個像素采樣一次。一個宏像素為12個字節,實際表示8個像素。圖像數據中 YUV分量排列順序如下: U0 Y0 V0 Y1 U4 Y2 V4 Y3 Y4 Y5 Y6 Y8 …
IYUV格式(planar)為每個像素都提取Y分量,而在UV分量的提取時,首先將圖像分成若干個2 x 2的宏塊,然后每個宏塊提取一個U分量和一個V分量。YV12格式與IYUV類似,但仍然是平面模式。
YUV411、YUV420格式 多見于DV數據中,前者用于NTSC制,后者用于PAL制。YUV411為每個像素都提取Y分量,而UV分量在水平方向上每4個像素采樣一次。 YUV420并非V分量采樣為0,而是跟YUV411相比,在水平方向上提高一倍色差采樣頻率,在垂直方向上以U/V間隔的方式減小一半色差采樣,如下圖 所示。
(好像顯示不出來突下圖像)
?

各種格式的具體使用位數的需求(使用4:2:0采樣,對于每個元素用8個位大小表示):

格式:?Sub-QCIF?亮度分辨率:?128*96??每幀使用的位:?147456
格式:?QCIF??亮度分辨率:?176*144??每幀使用的位:?304128
格式:?CIF??亮度分辨率:?352*288??每幀使用的位:?1216512
格式:? 4CIF??亮度分辨率:?704*576??每幀使用的位:?4866048



NTSC和PAL的區別詳解

常見的電視信號制式是PAL和NTSC,另外還有SECAM等。 那么NTSC和PAL的區別是什么呢?NTSC即正交平衡調幅制。PAL為逐行倒像正交平衡調幅制。下面在讓我們來看看NTSC和PAL的區別詳解。

PAL電視標準

  PAL電視標準,每秒25幀,電視掃描線為625線,奇場在前,偶場在后,標準的數字化PAL電視標準分辨率為720*576, 24比特的色彩位深,畫面的寬高比為4:3, PAL電視標準用于中國、歐洲等國家和地區。

NTSC電視標準

  NTSC電視標準,每秒29.97幀(簡化為30幀),電視掃描線為525線,偶場在前,奇場在后,標準的數字化NTSC電視標準分辨率為720*486, 24比特的色彩位深,畫面的寬高比為4:3。NTSC電視標準用于美、日等國家和地區。?
PAL和NTSC制式區別在于節目的彩色編碼、解碼方式和場掃描頻率不同。中國(不含香港地區)、印度、巴基斯坦等國家采用PAL制式,美國、日本、韓國以及我國臺灣地區等采用NTSC制式。

PAL與NTSC的區別

  電影放映的時候都是每秒24個膠片幀。而視頻圖像PAL制式每秒50場,NTSC制是每秒60場,由于現在的電視都是隔行場,所以可以大概認為PAL制每秒25個完整視頻幀,NSTC制30個完整視頻幀。

  電影和PAL每秒只差1幀,所以以前一般來說就直接一幀對一幀進行制作,這樣PAL每秒會比電影多放一幀,也就是速度提高了1/24,而且聲音的音調會升高。這就是一些DVD愛好者不喜歡PAL制DVD的原因之一。但是據說現在有些PAL制DVD采取了24+1的制作方法,就是把24幀中的一幀重復一次,從而獲得跟電影一樣的播放速度。

  而NTSC因為每秒有30幀,不能直接一幀對一幀制作,所以要通過3-2 PULLDOWN等辦法把24個電影幀轉成30個視頻幀,這30個視頻幀里所包含的內容和24個電影幀是相等的,所以NTSC的播放速度和電影一樣。

  所以,對于同一部片子來說,PAL制的DVD會比NTSC制的同一部片子快1/24。換算時間的時候,NTSC時間 X 24/25 = PAL時間。

  基帶視頻是一種簡單的模擬信號,由視頻模擬數據和視頻同步數據構成,用于接收端正確地顯示圖像。信號的細節取決于應用的視頻標準或者制式--NTSC(美國全國電視標準委員會,NationalTelevisionStandardsCommittee)、PAL(逐行倒相,PhaseAlternateLine)以及SECAM(順序傳送與存儲彩色電視系統,法國采用的一種電視制式,SEquentialCouleurAvecMemoire)。在PC領域,由于使用的制式不同,存在不兼容的情況。就拿分辨率來說,有的制式每幀有625線(50Hz),有的則每幀只有525線(60Hz)。后者是北美和日本采用的標準,統稱為NTSC。通常,一個視頻信號是由一個視頻源生成的,比如攝像機、VCR或者電視調諧器等。為傳輸圖像,視頻源首先要生成個垂直同步信號(VSYNC)。這個信號會重設接收端設備(PC顯示器),保征新圖像從屏幕的頂部開始顯示。發出VSYNC信號之后,視頻源接著掃描圖像的第一行。完成后,視頻源又生成一個水平同步信號,重設接收端,以便從屏幕左側開始顯示下一行。并針對圖像的每一行,都要發出一條掃描線,以及一個水平同步脈沖信號。另外,NTSC標準還規定視頻源每秒鐘需要發送30幅完整的圖像(幀)。假如不作其它處理,閃爍現象會非常嚴重。為解決這個問題,每幀又被均分為兩部分,每部分262.5行。一部分全是奇數行,另一部分則全是偶數行。顯示的時候,先掃描奇數行,再掃描偶數行,就可以有效地改善圖像顯示的穩定性,減少閃爍。目前世界上彩色電視主要有三種制式,即NTSC、PAL和SECAM制式,三種制式目前尚無法統一。中國采用的是PAL-D制式。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453796.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453796.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453796.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

交換機分布緩存_交換機網絡嗅探方法 如何欺騙交換機緩存

嗅探(sniff),就是竊聽網絡上流經的數據包,而數據包里面一般會包含很多重要的私隱信息,如:你正在訪問什么網站,你的郵箱密碼是多少,你在和哪個MM聊QQ等等......而很多攻擊方式(如著名的會話劫持)都是建立在嗅…

深度學習之 SSD(Single Shot MultiBox Detector)

目標檢測近年來已經取得了很重要的進展,主流的算法主要分為兩個類型: (1)two-stage方法,如R-CNN系算法,其主要思路是先通過啟發式方法(selective search)或者CNN網絡(RP…

短時程突觸可塑性(short-term synaptic plasticity)

介紹神經元的突觸可塑性一般被認為是大腦學習與記憶的分子生物學機制,它是指突觸傳遞效率增強或減弱的變化現象。若這種變化只持續數十毫秒到幾分,便稱之為短時程突觸可塑性,其中效率增強與減弱分別叫做短時程增強(short-term enh…

windows平臺下vlc編譯

轉自:http://jeremiah.blog.51cto.com/539865/114190Jeremiah剛剛工作幾個月,參與的第一個項目是與視頻監控有關,分配給我的任務就是用開源的vlc做一個自己的播放器。對于開源項目來說,搭建起編譯環境是第一步也是最重要的一步。Jeremiah在歷…

python xgboost安裝_win7 64 python2 xgboost安裝

綜述:安裝Python3 環境下的xgboost 可以通過pip install , 在網址中下載對應版本: http://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost 來進行安裝。但Python2在該網址下并沒有相應的包,所以要下載xgboost源代碼 然后編譯。很麻…

深度學習之卷積神經網絡 AlexNet

AlexNet 是 2012年ILSVRC 比賽冠軍,遠超第二名的CNN,比LeNet更深,用多層小卷積疊加來替換單個的大卷積,結構如下圖所示。 ?? 結構 預處理 原始圖片:256?256?3256*256*3256?256?3 圖像處理: 1.隨機…

jstl處理欄目與子欄目_芬頓氧化法廢水處理工程技術規范(征求意見稿)

日前,生態環境部印發《芬頓氧化法廢水處理工程技術規范(征求意見稿)》,詳情如下:各有關單位:為貫徹《中華人民共和國環境保護法》和《中華人民共和國水污染防治法》等法律法規,防治環境污染,改善環境質量&a…

深度學習之卷積神經網絡 ZF Net

ZFNet出自論文《 Visualizing and Understanding Convolutional Networks》,作者Matthew D. Zeiler和Rob Fergus——顯然ZFNet是以兩位作者名字的首字母命名的。ZFNet通常被認為是ILSVRC 2013的冠軍方法,但實際上ZFNet排在第3名,前兩名分別是…

SIP與RTP綜合應用5-RTP解包過程

RTP接收部分比較簡單(不用考慮jitterbuffer等),先從這里入手。 其實主要就3步: 1 創建一個udp,監聽一個端口,比如5200。 2 收到RTP包,送到解包程序,繼續收第 二個。 3 收齊一幀后,或保存文件&am…

JavaScript eval() 函數,計算某個字符串,并執行其中的的 JavaScript 代碼。

JavaScript eval() 函數,計算某個字符串,并執行其中的的 JavaScript 代碼。 適合用于計算器的計算,等。 例子: eval("x10;y20;document.write(x*y)") document.write(eval("22")) var x10 document.write(eva…

vb整合多個excel表格到一張_[Excel]同一工作簿中多個工作表保存成獨立的表格

一個工作簿中有多個表格,如何將其表格單獨保存成一個獨立的文檔呢?如果表格少,操作如下:選中要導出表格的標簽名--鼠標郵件--移動或復制表格--新建工作簿。當如果表格太多呢,以上方法就太羅嗦了。簡單方法用VBA,步驟如…

sqlserver字符串多行合并為一行

1 --創建測試表2 CREATE TABLE [dbo].[TestRows2Columns](3 [Id] [int] IDENTITY(1,1) NOT NULL,4 [UserName] [nvarchar](50) NULL,5 [Subject] [nvarchar](50) NULL,6 [Source] [numeric](18,0) NULL7 )8 GO9 10 --插入測試數據 11 INSERT INTO [TestRows2C…

OpenCore 的代碼結構

OpenCore的代碼結構 以開源Android 的代碼為例,Open Core 的代碼在Android 代碼的External/Opencore 目錄 中。這個目錄是OpenCore 的根目錄,其中包含的子目錄如下所示: android:這里面是一個上層的庫,它基于PVPlaye…

深度學習之卷積神經網絡 GoogleNet

GoogLeNet Incepetion V1 這是GoogLeNet的最早版本,出現在2014年的《Going deeper with convolutions》。之所以名為“GoogLeNet”而非“GoogleNet”,文章說是為了向早期的LeNet致敬。 深度學習以及神經網絡快速發展,人們不再只關注更給力的硬件、更大…

名詞解釋 算法的有限性_數據結構與算法期中考試卷(含答案)

玉林師范學院期中課程考試試卷(2010——2011學年度第一學期)命題教師:劉恒 命題教師所在系:數計系 課程名稱:數據結構與算法 考試專業:信計 考試年級:09級一、單項選擇題(每題2分,共30分,把正確…

Jzoj4348 打擊目標

又是被水題坑了。。。 一直想不出來看題解說要什么主席樹,于是開始打離線算法 結果打到一半發現要強制在線。。No!!! 發現直接AC自動機似乎可做?樹剖之后在AC自動機上跑的時候判斷一下不就好了嗎!連線段樹都不要 讓后快樂切掉,速度還可以&…

深度學習之卷積神經網絡 VGGNet

2014年,牛津大學計算機視覺組(Visual Geometry Group)和Google DeepMind公司的研究員一起研發出了新的深度卷積神經網絡:VGGNet,并取得了ILSVRC2014比賽分類項目的第二名(第一名是GoogLeNet,也是…

SpringMVC 返回json的兩種方式

前后臺數據交互使用json是一種很重要的方式.本文主要探討SpringMVC框架使用json傳輸的技術. 請注意,本文所提到的項目使用Spring 版本是4.1.7,其他版本在具體使用上可能有不一樣的情況. 一、最常見——使用RequestBody的注解返回一個實體對象; 使用方式如下: 1:引入jar包&#…

word上怎么把圖片拼接到一起_如何用Word把自己插入的兩張圖片合在一起?

例如上面效果的設置方法:1、單擊插入----圖片按鈕;2、彈出插入圖片對話框,按住Ctrl鍵,同時選擇所需要的圖片;3、選中圖片,單擊圖片工具格式----文字環繞----緊密型環繞;4、此時,用鼠…

深度學習之卷積神經網絡 ResNet

論文 Identity Mappings in Deep Residual Networks 2015年,ResNet(Residual Neural Network)由微軟研究院的Kaiming He等四名華人提出,并在ILSVRC2015比賽中取得冠軍,在top5上的錯誤率為3.57%,同時參數量…