日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

颜色空间那些事儿

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 颜色空间那些事儿 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文為原創作品,轉載請注明出處

歡迎關注我的博客:http://blog.csdn.net/hit2015springhttp://www.cnblogs.com/xujianqing/

?????? 只有經過幾年的準備之后,年輕的藝術家才應接觸顏色,不是用顏色描述,而是作為人的情感表達手段——畢加索

?????? ?彩色和光是造物主的偉大發明,這里面包含的學科和課題在一篇博文中無法全部闡明,本博文主要是介紹一下幾種顏色空間,整理了各顏色空間的與RGB空間的轉換公式,作為顏色空間處理的入門知識。

??????? 人類對顏色的感知是一種復雜的生理和心理現象,這一現象還遠遠未被完全了解,但是顏色的物理性質可以由一些實驗和理論結果支持表示出來。從初中物理學就學過,一個不透明物體所表現出來的顏色,有該物體所反射的光的性質決定。如,綠葉反射波長為500~570nm的綠光。

??????? 人眼的錐狀細胞是負責彩色視覺的傳感器。人眼中有600~700萬個錐狀細胞,它們可分為3類,分別感覺紅光(65%),綠光(33%),藍光(2%),雖然比例少,但是藍錐狀細胞卻對藍光更加敏感。所以被看到的顏色就是所謂的原色紅,綠,藍的組合。


RGB顏色空間


???????? RGB彩色模型主要是面向硬件的模型,如彩色監視器和一大類的彩色視頻攝像機。這個彩色模型利用的是三原色疊加從而產生不同的顏色。但是三原色疊加并不能產生所有的顏色。這個模型為每一個顏色通道分配0~255,256個級別的灰度值,這樣總共就可以產生種顏色。所有這些顏色包含在下圖所示的一個正方體中,該正方體內部的每一個點都能由三個通道的坐標確定。對角線是三個分量相等的顏色,就成為一個沒有顏色的灰度圖。


CMY和CMYK模型


???????? CMY模型和RGB模型具有相似的特點,它也是一種面向硬件設備(彩色打印機,復印機)的顏色模型,CMY代表青色,深紅色和黃色(顏料原色)的組合。這三種顏色是RGB的二次色,用的是另一種方式定義。如青色表示用白光照射時,反射光是白光減去紅光,而白光是紅綠藍光的組合。因此呢就有了RGB和CMY的轉換:假設所有的顏色值歸一化到(0,1)之間。

表示了青色表面不反射紅光,深紅色不反射綠色,純黃色不反射藍色。等量的顏料原色組合可以產生黑色,但是為了打印組合產生的黑色往往不會很純,因此為了產生真正的黑色,加入了第四種顏色黑色,于是就有了CMYK模型。


HSI彩色模型


???????? RGB彩色模型和CMY模型對硬件設備的實現是很理想的,而且RGB模型可以和人眼感受三原色的事實相匹配。但是很遺憾,這些顏色模型很難適應人對顏色的解釋。HIS彩色空間正是為了適應人眼對顏色的感知和描述發展的顏色模型。它是開發基于彩色描述的圖像處理方法的理想工具,這個模型利用色調(H),飽和度(S)強度(I)來描述色彩。其中HSI彩色模型和RGB彩色模型轉換公式如下所示:

給定一個RGB圖像,轉換到HIS

此處:

飽和度如下:

強度分量:

?說明:角度是以紅色為起始的基準軸來度量的。

???????? HIS到RGB空間的轉換:此處HSI為歸一化的值在[0,1]之間。先把H乘,把色調值還原到[0,],把H分為三個扇區進行討論,

RG扇區:

GB扇區:

然后計算:

BR扇區:

然后計算:

到此為止HIS空間的知識完畢!一般圖片都是RGB模型,上面的轉換公式為我們提供了在HIS空間處理圖像的工具。

在這里分享一段RGB轉HSI的matlab代碼

function hsi = rgb2hsi(rgb) %RGB2HSI Converts an RGB image to HSI. % HSI = RGB2HSI(RGB) converts an RGB image to HSI. The input image % is assumed to be of size M-by-N-by-3, where the third dimension % accounts for three image planes: red, green, and blue, in that % order. If all RGB component images are equal, the HSI conversion % is undefined. The input image can be of class double (with values % in the range [0, 1]), uint8, or uint16. % % The output image, HSI, is of class double, where: % hsi(:, :, 1) = hue image normalized to the range [0, 1] by % dividing all angle values by 2*pi. % hsi(:, :, 2) = saturation image, in the range [0, 1]. % hsi(:, :, 3) = intensity image, in the range [0, 1]. rgb = im2double(rgb); r = rgb(:, :, 1); g = rgb(:, :, 2); b = rgb(:, :, 3); % Implement the conversion equations. num = 0.5*((r - g) + (r - b)); den = sqrt((r - g).^2 + (r - b).*(g - b)); theta = acos(num./(den + eps)); H = theta; H(b > g) = 2*pi - H(b > g); H = H/(2*pi); num = min(min(r, g), b); den = r + g + b; den(den == 0) = eps; S = 1 - 3.* num./den; H(S == 0) = 0; I = (r + g + b)/3; % Combine all three results into an hsi image. hsi = cat(3, H, S, I); %%組成HSI圖片 % figure % imshow(H);title('H空間'); % figure % imshow(S);title('S空間'); % figure % imshow(I);title('I空間');a=0;


LAB空間


??????? LAB空間也是一種以數字化的方式來描述人對色彩的的視覺感覺,與設備無關,自然界中的任何一種顏色都可以在LAB空間中表示出來,當然RGB空間中的任何一種顏色都能在LAB空間中找到對應值。LAB空間中,L表示亮度;a表示紅色綠色軸,正數表示紅色,負端代表綠色;b的正數代表黃色,負數代表藍色。

從RGB到LAB空間的轉換需要通過中間變量XYZ

?????? 設一張圖片的RGB三個通道的值分別為(r,g,b)

?????? 1首先經過一次gamma校正,該函數是用來對圖像進行非線性色調的編輯,用來提高對圖像的對比度。

其中gamma函數定義為:

?

?????? 2計算XYZ

其中M為一個矩陣:

?

????? 3計算LAB

其中


Ohta顏色空間


??????? Ohta顏色空間是1980年Ohta 等人提出的顏色空間,該空間中三個顏色分量,I1,I2,I3,為一組正交的顏色特征集,它們也可由RGB顏色空間轉換得到,三個分量各自互相獨立。

利用該模型也可以對彩色圖像進行分割,可以得到很好的效果(黃色的圖像背景)


福利答謝大家!

感謝您閱讀本篇文章,對此特別發放一個無門檻的現金紅包,打開支付寶掃碼領取,可以領到錢的哦!



總結

以上是生活随笔為你收集整理的颜色空间那些事儿的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。