rgb顏色模型就是用紅(r)、綠(g)、藍(b)三種顏色的混合,從而實現各種顏色的表示。混合得到的顏色如下圖所示:
可以看出用不同的顏色進行混合,可以得到其他的色彩。三種顏色同時存在時得到的是白色,一種色彩都沒的時候得到的是黑色。
在matlab中為了實現這種顏色,我們用三張二維影象來表示每乙個顏色,即三張圖分別表示r、g、b。將三張圖重合到一塊,便可以得到一張彩色的影象,通過在每張圖上相同位置的畫素點給定不同大小的值,從而混合得到不同的顏色。
下圖表示了一張 rgb 影象的資訊。
工作區的值 557×1027×3 表示這是一張寬×長為 557×1027 的,後面的 3 表示有三個維度,就是由下圖右側的三張分別代表 r、g、b顏色分量的組成,三張分量長寬相同,這三張重疊,構成了該rgb彩色影象。unit8 表示每張分量的每個畫素點的值都是由 8 位表示,即取值為 0-255 。每一張分量都是 8 位的灰度圖。
在影象分割中我們用括號可以切割出指定區域的影象,對於三維影象,我們可以從三個維度進行切割,從而得到彩色的影象。下圖展示了將一張圖的r、g、b分量分別切割出來並顯示。可以看出每張分量都是一維的灰度圖。這篇文章講述了括號切割影象的用法
'r分量');
subplot(1,
3,2)
,imshow(image_g)
,title(
'g分量');
subplot(1,
3,3)
,imshow(image_b)
,title(
'b分量'
);下面將演示用matlab的矩陣建立一張如下所示的rgb影象:
首先建立乙個大小為300×300的每個位置的值都是0的矩陣,這裡用到函式
m = zeros(width, height)
;
建立width×height的矩陣,元素的值全部為0然後用括號表示式選擇上面的前100行,賦值為 255,用這張圖表示紅色分量的圖
再建立第二張300×300的影象,將中間100行的元素置為255,用這張圖表示綠色分量的圖
再建立第三張300×300的影象,將下面100行的元素置為255,用這張圖表示綠色分量的圖
將這三張圖用cat函式重疊到一塊就形成了一張彩色rgb圖
前面的這篇文章介紹了cat的用法
當cat
函式的第乙個引數為 3 時表示將後面的若干張按順序從前向後重疊到一塊。
該例**和效果為:
;我們曾經使用過函式rgb2gray
將彩色影象轉換為灰度圖,該函式就是用將不同權重的r、g、b分量的每個畫素點的值相加得到的,轉換的公式為:0.2989 * r + 0.5870 * g + 0.1140 * b 。
ycbcr顏色模型,y表示亮度分量(展示亮度資訊),cb表示藍色分量差,cr表示紅色分量差,一張ycbcr彩色圖也是由這三張分量圖表示,對任意的rgb影象,可以使用函式
ycbcr_image = rgb2ycbcr(rgb_image)
;
將rgb轉化為ycbcr。下圖展示了將rgb影象轉為ycbcr並顯示新影象,然後將ycbcr的每個分量都分離出來,分別展示。
可以看到直接用imshow
展示ycbcr會改變原圖的顏色,因為imshow
只支援rgb顏色模型和索引影象,所以會出現偏離原色。下面的三張圖展示了ycbcr的三個分量,從工作區可以看到,每個分量也是一張 8 位的灰度圖。由於人的膚色分布在140該例**為:
'ycbcr影象');
fy_y=fy(:,
:,1)
;fy_cb=fy(:,
:,2)
;fy_cr=fy(:,
:,3)
;figure;
subplot(1,
3,1)
,imshow(fy_y)
,title(
'亮度資訊y');
subplot(1,
3,2)
,imshow(fy_cb)
,title(
'藍色分量差cb');
subplot(1,
3,3)
,imshow(fy_cr)
,title(
'紅色分量差cr'
RGB與YCbCr顏色空間的轉換
y 明亮度 luminance或luma 也就是灰階值。亮度 是透過rgb輸入訊號來建立的,方法是將rgb訊號的特定部分疊加到一起。u v 色度 chrominance或chroma 作用是描述影像色彩及飽和度,用於指定畫素的顏色。色度 則定義了顏色的兩個方面 色調與飽和度,分別用cr和cb來表示。...
RGB與YCbCr顏色空間的轉換
y 明亮度 luminance或luma 也就是灰階值。亮度 是透過rgb輸入訊號來建立的,方法是將rgb訊號的特定部分疊加到一起。u v 色度 chrominance或chroma 作用是描述影像色彩及飽和度,用於指定畫素的顏色。色度 則定義了顏色的兩個方面 色調與飽和度,分別用cr和cb來表示。...
RGB與YCbCr顏色空間的轉換
原文 公式如下 數字rgb與ycbcr顏色空間轉換的精度 在這兩個公式中rgb和ycbcr各分量的值的範圍均為0 255。rgb轉換為ycbcr 這個公式來自 genesis microchip.gm6010 gm6015 programming guide m california us gene...