導航:首頁 > 源碼編譯 > rgb顏色識別演算法

rgb顏色識別演算法

發布時間:2022-08-09 10:32:24

『壹』 RGB與CMYK有什麼具體的區別

RGB與CMYK的主要區別如下:

1、定義不同

RGB色彩模式是工業界的一種顏色標准,是通過對紅(R)、綠(G)、藍(B)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,這個標准幾乎包括了人類視力所能感知的所有顏色;

CMYK是印刷四色模式,是彩色印刷時採用的一種套色模式,利用色料的三原色混色原理,加上黑色油墨,共計四種顏色混合疊加,形成所謂「全彩印刷」。

2、原色不同

RGB的原色包括:紅(R)、綠(G)、藍(B)三個顏色;

CMYK的原色包括:Cyan =青色,又稱為『天藍色』,『湛藍』、M:Magenta =品紅色,又稱為『洋紅色』;Y:Yellow = 黃色;K:blacK=黑色等四個顏色。

3、原理不同

RGB的原理:顏色發光;

CMYK的原理:顏色反光或反射。

『貳』 求一個計算RGB顏色值的演算法,色差要盡量大,從黑色到白色之間可以計算出來100個以上顏色,盡量用C++

在RGB顏色模型下,要100個顏色設一個變數從0到0x1000000之間分成100遞增即可,顏色差值最大。

javaapplet最簡演示,附圖。從黑到白100個顏色塊

=====

importjava.applet.Applet;

importjava.awt.Color;

importjava.awt.Graphics;

publicclassTestextendsApplet{

=1802199483736051124L;

publicintnum_of_colors;

@Override

publicvoidinit(){

num_of_colors=100;//如果要多可以設得更多

}

@Override

publicvoidpaint(Graphicsg){

introw_max=(int)Math.sqrt(num_of_colors);

intcol_w=getWidth()/row_max;

intx=0,y=0;

intcd=(int)(0x1000000L/num_of_colors);

intc=0;

for(intn=0;n<num_of_colors;n++){

g.setColor(newColor(c));

g.fillRect(x,y,col_w,col_w);

c+=cd;

if(n%row_max==0&&n>0){

x=0;

y+=col_w;

}elsex+=col_w;

}

}

}

『叄』 rgb色彩模式中r的值的大小是如何定義的

的演算法描述。
步驟1:把RGB值轉成中數值。

步驟2:找出R,G和B中的最大值。

步驟3:設L=(maxcolor + mincolor)/2

步驟4:如果最大和最小的顏色值相同,即表示灰色,那麼S定義為0,而H未定義並在程序中通常寫成0。

步驟5:否則,測試L:
If L<0.5, S=(maxcolor-mincolor)/(maxcolor + mincolor)
If L>=0.5, S=(maxcolor-mincolor)/(2.0-maxcolor-mincolor)

步驟6: If R=maxcolor, H=(G-B)/(maxcolor-mincolor)
If G=maxcolor, H=2.0+(B-R)/(maxcolor-mincolor)
If B=maxcolor, H=4.0+(R-G)/(maxcolor-mincolor)

步驟7:從第6步的計算看,H分成0~6區域。RGB顏色空間是一個立方體而HSL顏色空間是兩個六角形錐體,其中的L是RGB立方體的主對角線。因此,RGB立方體的頂點:紅、黃、綠、青、藍和品紅就成為HSL六角形的頂點,而數值0~6就告訴我們H在哪個部分。H=H*60.0,如果H為負值,則加360。

『肆』 顏色空間RGB與 色調、飽和度、亮度(ESL)轉換的完整C語言演算法

你把0-240 按比例 縮放 一下 到 HSL 的 范圍,用 HSL-RGB 轉換。

HSL--H是色相(0到360度),S是飽和度(0到1),L是亮度(0到1)

規1化的 HSL到RGB顏色值算換子程序:
// nomorized h,s,L 0-1.0
void HSL2RGB(double h, double s, double L,unsigned char *rr, unsigned char *gg,
unsigned char *bb)
{
double v,m,sv, vs0, c1, c2,xiaoshu,r,g,b;
int ih;
r = L; g = L;b = L;
if (L <= 0.5) v = L * (1.0 + s); else v = L + s - L * s;
if (v > 0) {
m = L + L - v; sv = (v - m ) / v;
h = h * 6.0; ih = (int)h;
xiaoshu = h - ih;
vs0 = v * sv * xiaoshu; c1 = m + vs0; c2 = v - vs0;
switch (ih) {
case 0: r = v; g = c1; b = m; break;
case 1: r = c2; g = v; b = m; break;
case 2: r = m; g = v; b = c1; break;
case 3: r = m; g = c2; b = v; break;
case 4: r = c1; g = m; b = v; break;
case 5: r = v; g = m; b = c2; break;
default: break;
}
}
*rr = (int) (r * 0xff); *gg = (int) (g * 0xff); *bb = (int) (b * 0xff);
}

把你3個數值,各除以240,代入子程序即可。
詳見:http://hi..com/svjvcfwticdkmse/item/e6c43a21e385b10977272c0e
彩虹光譜RGB值自動生成程序 (L_o_o_n_i_e == 金色潛鳥)

『伍』 RGB中x y z指的是什麼

RGB一般指Red,Green,Blue;是視頻信息中的3色;在電纜中,代表三條信號線;
x y z指的是相對應的(信號)地線,一般他們是共地線的;在電纜中,就是4根,三條信號線加一條地線;

僅供參考

『陸』 純色在RGB空間裡面的位置是什麼純色的RGB演算法是什麼

純色在色坐標上很容易找到, 這個你需要網路"1931xy色坐標繪制".
另外,你對純色有一定的誤解.
在RGB上, 也就是你希望得到(xxx,xxx,xxx) 這種類型是不行的.
所謂的(255,255,0)並不是指的純色黃色光, 它指的是你的電腦顯示器的像素中 R像素和G像素最大亮度時混合而成的黃光, 用專業的光學來解釋也就是說: 這時得到的黃色僅僅是在你顯示器的色域R,G兩點連線的邊上. 並非是所謂的對應單一的波長的黃光.
簡單來說,也就是你所謂的RGB空間其實是指你顯示器的色域空間, 要確定這個色域空間的顏色坐標需要先將R,G,B 三色畫面的坐標(x,y)以及亮度(L)利用光學儀器測出, 然後利用三角形原理即可算出所有坐標.

『柒』 兩種顏色混合rgb怎麼計算

取決於混色方式。例如按最常用的不透明度計算,每個通道的計算公式是α*A+(1-α)*B,其中A、B分別是兩個色層同一通道的灰度值,A層在B層之上。α是A色層的不透明度。

『捌』 25%的灰度RGB是多少

25%的灰度RGB(25,25,25)。

灰度就是沒有色彩,RGB色彩分量全部相等。如果是一個二值灰度圖像,它的像素值只能為0或1,我們說它的灰度級為2。用個例子來說明吧:一個256級灰度的圖像,如果RGB三個量相同時,如:RGB(100,100,100)就代表灰度為100,RGB(50,50,50)代表灰度為50。

彩色圖像的灰度其實在轉化為黑白圖像後的像素值(是一種廣義的提法),轉化的方法看應用的領域而定,一般按加權的方法轉換,R, G,B 的比一般為3:6:1。

任何顏色都由紅、綠、藍三基色組成,假如原來某點的顏色為RGB(R,G,B),那麼,可以通過下面幾種方法,將其轉換為灰度:

1、浮點演算法:Gray=R*0.3+G*0.59+B*0.11

2、整數方法:Gray=(R*30+G*59+B*11)/100

3、移位方法:Gray =(R*77+G*151+B*28)>>8;

4、平均值法:Gray=(R+G+B)/3;

5、僅取綠色:Gray=G;

通過上述任一種方法求得Gray後,將原來的RGB(R,G,B)中的R,G,B統一用Gray替換,形成新的顏色RGB(Gray,Gray,Gray),用它替換原來的RGB(R,G,B)就是灰度圖了。

(8)rgb顏色識別演算法擴展閱讀


RGB格式:

對一種顏色進行編碼的方法統稱為「顏色空間」或「色域」。用最簡單的話說,世界上任何一種顏色的「顏色空間」都可定義成一個固定的數字或變數。

RGB(紅、綠、藍)只是眾多顏色空間的一種。採用這種編碼方法,每種顏色都可用三個變數來表示-紅色綠色以及藍色的強度。記錄及顯示彩色圖像時,RGB是最常見的一種方案。

但是,它缺乏與早期黑白顯示系統的良好兼容性。因此,許多電子電器廠商普遍採用的做法是,將RGB轉換成YUV顏色空間,以維持兼容,再根據需要換回RGB格式,以便在電腦顯示器上顯示彩色圖形。

網頁格式:

由於網頁(WEB)是基於計算機瀏覽器開發的媒體,所以顏色以光學顏色RGB(紅、綠、藍)為主。網頁顏色是以16進制代碼表示,一般格式為#DEFABC (字母範圍從A-F,數字從0-9 );

如黑色,在網頁代碼中便是:#000000(在css編寫中可簡寫為#000)。當顏色代碼為#AABB11時,可以簡寫為#AB1表示,如#135與#113355表示同樣的顏色。

RGB1、RGB4、RGB8都是調色板類型的RGB格式,在描述這些媒體類型的格式細節時,通常會在BITMAPINFOHEADER數據結構後面跟著一個調色板(定義一系列顏色)。它們的圖像數據並不是真正的顏色值,而是當前像素顏色值在調色板中的索引。

以RGB1(2色點陣圖)為例,比如它的調色板中定義的兩種顏色值依次為0x000000(黑色)和0xFFFFFF(白色)…(每個像素用1位表示)表示對應各像素的顏色為:黑黑白白黑白黑白黑白白白。

『玖』 詳細請教:關於十進制RGB顏色值轉換十六進制顏色值的演算法

把十六進制的數前面加0補成長度為6的數,然後前兩位化成十進制數代表紅色,中間兩位化成十進制數代表綠色,最後兩位化成十進制數代表藍色。如&FFFF,先變成00FFFF,於是等於RGB(0,255,255)

網上還有專門的顏色值運算器,要是嫌計算麻煩,就下一個用吧~~~

閱讀全文

與rgb顏色識別演算法相關的資料

熱點內容
php定時執行任務linux 瀏覽:786
php數組中刪除元素 瀏覽:724
螢石雲伺服器視頻 瀏覽:269
防火牆配置伺服器熱備的虛擬地址 瀏覽:188
linux安裝xdm 瀏覽:736
java計算12 瀏覽:249
大金空調擺動式壓縮機 瀏覽:453
新的雲伺服器如何設置首頁 瀏覽:687
javastring字元位置 瀏覽:196
銀河麒麟字體庫存在哪個文件夾 瀏覽:957
魔獸加丁伺服器的航空叫什麼 瀏覽:152
花冠改裝案例哪個app多 瀏覽:515
成績單app哪個好用 瀏覽:140
北美程序員vs國內程序員 瀏覽:181
php解析xml文檔 瀏覽:121
石墨文檔APP怎麼橫屏 瀏覽:185
牆主鋼筋加密和非加密怎麼看 瀏覽:144
金山區文件夾封套定製 瀏覽:708
soho程序員 瀏覽:672
java位元組截取 瀏覽:526