將YUV轉成RGB

小弟剛接觸version不久...

目前要將sensor輸出的YUV format在LabView轉換為RGB format的影像...

可是目前毫無頭緒...不知如何轉換...

希望各位大大可以助我一臂之力...

謝謝..感激不盡...

以下文章轉載自:http://www.altec.com.hk/bbsgz/index.php?act=ST&f=2&t=116

希望可以參考看看...


YUV-RGB顏色轉換的問題<?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

當把原始YUV的素材轉換為RGB的素材時,我們會看到一些差別。實際上,在正常的情況下,在轉換的時候總是有一些細微的差別,因為在RGBYUV之間沒有一個確切的一一對應的關係,所以進行轉換的時候,其結果必定是相互之間最接近的可以利用的顏色。

一般來說,這些差別很難用眼睛來分辨,特別是圖像沒有經過兩遍甚至以上的顏色轉換的時候,但在一種特殊的情況下你可以明顯的變化,典型的是丟失對比度,發生此類情況的原因是圖像中包含了RGB顏色子集以外的YUV顏色(即非法RGB顏色)。本篇對此類問題並且在JALEO中怎樣處理這種情況進行了深入的解析。

 

問題:

RGBYUV顏色中包含了不同的色度頻譜成分,實際上,RGB顏色包含了一個YUV顏色的子集,沒有被RGB子集所包含的額外的YUV顏色則不能直接轉換成RGB顏色。在後期製作時採集YUV信號(數位或類比信號),然後轉化成RGB信號並以這種格式存貯圖像。在RGB信號中不可用的額外的YUV顏色轉化成RGB的邊緣色。在後期處理中也是製作成RGB格式,最後

RGB圖像要被轉化成YUV格式並輸出。

有時,在RGB和原始的YUV信號之間的轉化處理會導致可以看見的差別,甚至在兩種顏色轉化以外沒有經過後期處理的情況下也可以看出來。在正常的情況下不會出現這種問題,因為那些額外的YUV顏色用來記錄原始圖像的RGB設備中代表沒用的顏色。標準的攝像機使用RGB CCD裝置,YUV信號在RGB掃描色的基礎上產生。既然原始顏色是RGB的,那麼YUV信號就不會包含RGB範圍以外的顏色,並且如果電腦不發生意外,那些殘缺的顏色就不會出現。

 

但在以下兩種情況下會顯示殘缺的顏色:

-視頻設備(或線纜)超出標準範圍會產生不合法的顏色,許多錄影機、膠轉磁和一些YUV設備允許操作人員改變其YUV組合結構。這些殘缺的顏色會在標準的YUV監視器上看到,但在RGB監視器上卻看不到。

-計算機制作的圖像以YUV格式存貯會在RGB信號中有殘缺的顏色。使用人員有責任來避免這種情況,但也有可能使YUV的幅值超出RGB的有效範圍。事實上,有時這也是必須的,象製作superblack mattes,通常,這種情況下會導致一張壞的圖像。

我們在JALEO中做一個例子,如果你對YUV素材應用顏色較正命令RTcolorcorrect effect,調整飽和度幅值為400%,這樣就大大超出RGB的有效範圍。如果轉化成RGB,你就會在監視器上看到明顯的差別。在這個例子中我們只改變了飽和度,我們改變亮度值的時候也會看到YUV和轉化為RGB的差別。

 

原因:

在拍攝時進入CCD的原始信號是RGB信號,並通過CCD轉化為YUV信號,色差UV是由BYRY按不同比例壓縮而成的,有一個換算關係:

Y=0.30R+<?:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0.59G+0.11B

U=0.493(BY) = 0.15R0.29G+0.44B

V=0.877(RY) = 0.62R0.52G0.10B

當我們提高亮度值轉化為RGB的時候,如果亮度太高或太低,其轉換的結果就會超出RGB的最大限度,產生不合法的RGB幅值,這種極端的調整亮度值的做法會導致對比度失調。我們所說的不合法的顏色僅僅是對RGB色來說的,如果你要把這樣的圖片放到頻譜儀或示波器上來觀查,你檢測不到任何的不正常的現象,因為它們可以有效的存在於YUV信號中。

謝謝大大的提供....

不過小弟希望能夠有實際的範例讓我參考...

資質愚鈍....無法由字面上理解...