YCbCr Renk Alanının Cb ve Cr Bileşenlerini Anlama


11

Katkı maddesi (RGB), çıkarıcı (CMYK) ve HSV benzeri renk uzayları hakkında bilgi sahibiyim, ancak şu anda anlamaya çalıştığım bir makale , görüntü segmentasyonu / nesne tanımı için YCbCr renk alanı üzerinde çalışıyor .

Sabahımın çoğunu doğal olarak YCbCr'yi açıklayacak bir şey arayarak geçirdim, ama anlamıyorum. Ben güzel, sezgisel açıklama var bu renk alanı arkasındaki genel fikri burada da görselin / sıkıştırma kodlama için kullanılıyor nasıl ve açıklama bu adamlar (photo.SE tüm).

RGB'den YCbCr hesaplamak için formüllere wikipedia'da kolayca erişilebilir .

Bu temsil için motivasyon aldım, Y bileşeninin görüntü hakkında en önemli (insan gözü için) gri ölçekli bilgileri içerdiğini aldım.

Cb ve Cr'in renkler hakkında bilgi taşıdığını ve (insan gözü (in) duyarlılığı nedeniyle), görünür bir kalite kaybı olmadan sıkıştırılabileceğini anladım . Peki, her bir renklilik bileşeni neyi temsil eder?

Makale yazarları, yaklaşımlarında "krominans bilgisinin nesnelerin tanımında çok önemli olduğunu" belirttiği ve şu andaki "Y yoğunluk, Cb ve Cr renk bilgilerini bir şekilde taşıyor" seviyesinde okuduğum şeyi tam olarak anlayamıyorum YCbCr anlamak.

"Cb is ..., Cr is ..." ya da "XY ile / XY ile bakmayı hayal ediyorsanız, aslında Cb bileşenine bakıyorsunuz ..." ya da bazı satırlar için bir cevap arıyorum diğer bir deyişle, bileşenlerin her biri tarafından taşınan bilgileri, yalnızca birlikte renk bilgilerini taşıdıkları için değil, ayrı ayrı anlamama yardımcı olur.

DÜZENLE

Aradığım tipteki diğer renk uzayları için sezgisel açıklamalara örnekler vereyim:

RGB : Siyah bir duvara renkli bir el feneri gibi: Mavi bir el feneri ile parlarsanız, mavi bir yansıma görürsünüz. Kırmızı bir el feneri eklerseniz, mavi ve kırmızı karışımı olan kırmızı bir yansıma gösterecektir.

CMYK : Suluboyaları karıştırmak gibi, "yüzeyin yansıttığı renklere eklersiniz", (yani arka plandan rengi çıkarır), böylece sarı olanı camgöbeği ile karıştırırsanız, yeşili yansıtır ve böylece yeşil renk alırsınız.

HSV : Küçük çocuklar parlak değil, yüksek doygunluktaki nesnelere çekilir. Ton bileşeni "rengi verir", düşük doygunluk ise rengin beyazla "seyreltildiği" anlamına gelir. Değer değişikliği, her şeyi daha parlak veya daha karanlık yapar.

Bu tanımlarla, her bir renk alanında, her biri için grafikleri ezberlemeden, bir renk temsilinin ne anlama geldiğiyle ilgili sezgisel bir his edindim.

Yanıtlar:


7

YUV (veya YCbCr) HSV gibidir, ancak farklı koordinatlardadır. (YUV ve YCbCr arasındaki fark marjinaldir - çoğunlukla kesin formüllerle ilgilidir).

V bileşen aynı. (S,'H) kutupsal koordinatlar olarak düşünülebilir ve (U,V) kartezyen olarak. 'H açı ve Syarıçapıdır. Kabaca bir dönüşüm şöyle olur:

U=Smarul('H)

V=Sgünah('H)

Daha fazla bilgi için bu bağlantıyı görebilirsiniz .

Sezgi listenize eklemek için başka bir şey:

Doygunluk, rengin spektral bakış açısından ne kadar saf olduğudur . Örneğin, bir lazerin yüksek doygunluk anlamına gelen çok dar bir spektrumu vardır.


tamlık uğruna YUV ve YCbCr arasındaki farkın açıklamasını ekleyebilir misiniz?
penelope

@Andrey Rubshtein, Eğer bir lazer yüksek doygunluğa sahipse, tersi doğrudur? Başka bir deyişle, RGB'yi ölçüp HSV'ye dönüştürürsem, yüksek doygunluk, tutarlı bir lazer kaynağından kaynaklanması gerektiği anlamına mı gelir? Teşekkür ederim.
Frank

@Frank, mutlaka bir lazer değil. Ancak geniş bir spektrumda doygun bir renge sahip olmak zordur, çünkü ne kadar geniş olursa, sadece bir bileşende yüksek bir tepkiye sahip olmak o kadar zordur.
Andrey Rubshtein

@Andrey Rubshtein, Cevabınız için teşekkür ederim. Mks Doygunluk Yoğunluğu birimleri birim alan başına birim süre başına enerjidir. . Mks doygunluk enerji akıcılığı birim birim alan enerjisidir. Katı hal lazer darbelerinin uzun olduğu yerlerde, 10 ila 50 ns (nanosaniye). Çok dar spektrumlu yüksek doygunluk, tutarlı bir lazer kaynağından kaynaklanması gerektiğini ima eder mi?
Frank

@Andrey Rubshein. Tamamen haklısın ... LED'lerin düşük basınçlı sodyum ışıkları gibi hemen hemen tek renkli ışık yaydığını öğrendim. Bir Boeing 737 havayolu kokpit penceresinden gözlemlenen genel görüntü dışında lazer işaretleyici ışınlarını anlatmak için kullanılabilecek tutarlı lazer işaretçilerin ayırt edici özellikleri var mı?
Frank

2

Ne RGB ne de YUV, ne foton frekansını ne de tipik insan gözü çubuk / koni tepkilerini temsil etmediğinden, "gerçekte" ile kastettiğinizden emin değilsiniz. Ancak, (1,1,0), (1, -1,0), (1,0,1), (1,0, - gibi bazı YCrCb renk yamalarını sentezleyerek size nasıl göründüklerini görebilirsiniz. 1) vb.

İşte bir grafik içeren bir Wikipedia sayfası:

http://en.wikipedia.org/wiki/File:YCbCr-CbCr_Scaled_Y50.png

EKLENDİ: RGB ve benzerleri, olası bir sezgisel algı anlayışına (ve renk adlarının kültürel olarak öğrenildiği ortaya çıktı) uyacak şekilde neredeyse tasarlandı (veya geliştirildi). YUV, UV alanındaki gürültünün (gürültülü bir NTSC alt bandına eklenen) görülmesinin zor olması ve dolayısıyla tanımlanmasının daha zor olacağı şekilde tasarlanmıştır. YCrCb aynı renk eşlemesindeki bir varyasyondur. Bu yüzden var olmayabilecek mevcut "sezgisel" bir içgörü aramayın. Belki de grafiği “öğrenerek” ve şu anda beyninizde bulunmayan yepyeni sinirsel bağlantılar kurarak (veya bunun gibi bir şey) kendiniz oluşturun.


YCbCr için almak istediğim tipteki diğer renk uzayları için örnekler ekledim. Umarım bu daha açık aradığım açıklama türünü yapar.
penelope

0

HSV / HSB'yi anladığınızda YCbCr'yi anlamak zor olmamalıdır. HSB'deki B kanalı kroma karşılık gelir (chroma = doygunluk http://vident.com/products/shade-management/color-theory/understanding-color-overview/hue-value-and-chroma/). RGB görüntüsünü alıp gri tonlamaya dönüştürebilir veya RGB'nin her kanalını gri tonlamaya dönüştürebilir ve bunları tek bir kanala birleştirebilirsiniz. Sadeleştirme için% 100 kırmızı,% 100 yeşil ve% 70 mavi içeren bir piksel alalım. Ortalama hesaplayacaksınız ... (100 + 100 + 70) / 3 ve% 90 değerini alırsınız, bu da% 90 parlaklık anlamına gelir. Yani gri tonlarında çok açık gri renktedir. Şimdi, orijinal renkleri gri tonlama kanalına doğru ifade etmek istersek, her renk için 3 formüle ihtiyacımız var (kırmızı, yeşil, mavi). R değeri gri tonlamalı, G vs gri tonlamalı ve B değeri gri tonlamalı arasındaki farkı hesaplarsınız. Bunun için 4 kanal gerekir (RGB + kroma). Ama aynı şeyi 3 kanalla da yapabiliriz. Yeşil kanala küçük bir düzeltme yapabiliriz. Yeşil kanala farkı hesaplayalım. Orijinal yeşil% 100, griye dönüştürülen yeşilin yeni değeri% 90'dır. Fark% -10. Şimdi bu pikselin R ve B kanallarını bu farkla değiştirelim. Sadece gama düzeltmesi veya tüm kanallar yaptık. Yeşil kanal değerleri gri tonlamalı görüntü ile aynı olacaktır. Bu yüzden artık yeşil kanalla hesaplama yapmıyoruz. Yeşil, Y ... chroma kanalında "kodlanmıştır". Geri kalan renkler (R, B) de ayarlanır. R` = orijinalin% 90'ı veya Y'nin% 100'ü, çünkü R ve B bu örnekte eşittir. B bileşiği orijinaline göre% + 20'ye sahiptir, ancak gama düzeltmesi ile değiştirildikten sonra Y'ye doğru% + 30'a sahiptir. Kırmızı ve mavi için aldığınız farklılıklar Cb ve Cr'dir. Karakterler, Mavi kanalı chroma Kanalı ve Kırmızı kanalı Chromma kanalıyla karşılaştırdığınızı söylüyor. Dolayısıyla Cb ve Cr.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.