導航:首頁 > 源碼編譯 > 彩色轉灰度演算法

彩色轉灰度演算法

發布時間:2023-06-15 07:03:05

『壹』 求個大神幫寫一個C語言RGB565轉換為灰度圖像的演算法

最多隻能給你寫個rgb565像素轉灰度像素的。
不知道你圖像是什麼格式,如何保存,以及各種其他什麼什麼信息。
所以圖像那邊的循環就你自己去搞定了,我只給你搞單個像素

#define rgb565togray(x) \
(unsigned char) ( \
((val) >> 11) * 0.3 + \
(((val) >> 5) & 0x3f) * 0.59 + \
((val) & 0x1f) * 0.11 \
)

『貳』 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)就是灰度圖了。

(2)彩色轉灰度演算法擴展閱讀


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位表示)表示對應各像素的顏色為:黑黑白白黑白黑白黑白白白。

閱讀全文

與彩色轉灰度演算法相關的資料

熱點內容
a8商業源碼論壇 瀏覽:41
強國雲盤上傳視頻顯示伺服器異常 瀏覽:566
如何欺騙網游伺服器 瀏覽:934
直接卡密登陸簡訊測壓系統的源碼 瀏覽:960
課經pdf 瀏覽:299
c動態編程 瀏覽:34
浣熊PDF 瀏覽:770
grep命令表達式 瀏覽:108
程序員半年了找不到工作怎麼辦 瀏覽:961
深圳6k程序員 瀏覽:520
刷臉支付oem需要源碼嗎 瀏覽:166
如何在線壓縮動態圖片 瀏覽:113
vb字母表加密 瀏覽:613
紅帽磁碟命令 瀏覽:868
cmd命令大全ip地址 瀏覽:14
伺服器被攻擊什麼意思 瀏覽:73
看去哪個app 瀏覽:163
埃微手環用什麼app 瀏覽:567
培訓需要編程基礎嗎 瀏覽:338
程序員寫論文需要什麼條件 瀏覽:600