五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

Python光學(xué)仿真實(shí)現(xiàn)波長(zhǎng)與顏色之間對(duì)應(yīng)關(guān)系示例解析

發(fā)布日期:2021-12-22 22:07 | 文章來(lái)源:站長(zhǎng)之家

光的顏色

與其說(shuō)顏色是光的一種屬性,不如說(shuō)是人眼對(duì)可見光頻率范圍內(nèi)的一種感應(yīng),是人眼的一種屬性。而人眼對(duì)光頻的感應(yīng)包括三個(gè)方面,即明度、色調(diào)和飽和度。

其中,

  • 明度與光強(qiáng)有關(guān)
  • 色調(diào)反應(yīng)的是光的頻率信息
  • 飽和度表示圖像上的顏色與光譜色的接近程度

當(dāng)不考慮色調(diào)、飽和度為0的時(shí)候,只考慮明度,則色彩感消失,就是所謂的黑白圖像,或者更嚴(yán)格地說(shuō)是灰度圖像。

色調(diào)與飽和度雖然反應(yīng)色光的頻率信息,但表現(xiàn)的是人眼對(duì)光的反饋特性,與光的頻率是不同的物理量。其與光的頻率之間的對(duì)應(yīng)關(guān)系也是由人眼的感光細(xì)胞決定的。由于自然界中并不存在嚴(yán)格的單色光,人的色覺其實(shí)是人眼的兩種感光細(xì)胞所產(chǎn)生的色覺的混合。

也就是說(shuō),幾種基準(zhǔn)頻率的光按照不同的飽和度互相混合,人眼將會(huì)感受到顏色的變化,也可以說(shuō)是產(chǎn)生新的顏色。實(shí)驗(yàn)表明,任意三種不能互相轉(zhuǎn)換的顏色可以通過(guò)互相混合完成對(duì)光譜色的一一對(duì)應(yīng)。這樣的三種光叫做三原色,一般選取紅綠藍(lán)作為三原色。

由于三者已經(jīng)歸一化,所以只要知道其中兩個(gè)值就能夠確定色品,以 r 為橫坐標(biāo) g 為縱坐標(biāo),就能夠表示出所有可能的色品。這種圖大家并不陌生,在手機(jī)發(fā)布會(huì)上最常見,這里我們畫出一個(gè)類似的圖樣

def CIE_RGB():
 rgb = np.zeros([1000,1000,3])
 r = np.arange(0,1,0.001)
 r,g = np.meshgrid(r,r)
 rgb[:,:,0] = r
 rgb[:,:,1] = g
 rgb[:,:,2] = 1-r-g
 over = rgb[:,:,2]<0
 rgb[over,:]=[1,1,1]
 #將色品轉(zhuǎn)化成RGB
 maxVal = np.max(rgb,2)
 for i in [0,1,2]:
  rgb[:,:,i] /= maxVal
 #rgb[rgb<0]=0
 ax = plt.gca()
 ax.imshow(rgb)
 ax.invert_yaxis() #plt顯示圖片時(shí)y軸從上到下,所以反置
 # 坐標(biāo)映射
 plt.xticks(range(0,1001,200),['0','0.2','0.4','0.6','0.8','1'])
 plt.yticks(range(0,1001,200),['0','0.2','0.4','0.6','0.8','1'])
 plt.show()

然而根據(jù)實(shí)驗(yàn)測(cè)得,RGB系統(tǒng)的刺激值存在負(fù)值,也就是說(shuō)上圖中其實(shí)并沒有將所有的顏色納入其中,所以CIE又推薦了XYZ色度學(xué)系統(tǒng),其本質(zhì)上是對(duì)RGB系統(tǒng)的線性變換,最終讓該系統(tǒng)所對(duì)應(yīng)的刺激值為正數(shù)。其公式為

python實(shí)現(xiàn)為

#dWave為波長(zhǎng);maxPix為最大值;gamma為調(diào)教參數(shù)
def getRGB(dWave,maxPix=1,gamma=1):
 waveArea = [380,440,490,510,580,645,780]
 minusWave = [0,440,440,510,510,645,780]
 deltWave = [1,60,50,20,70,65,35]
 for p in range(len(waveArea)):
  if dWave<waveArea[p]:
break
 pVar = abs(minusWave[p]-dWave)/deltWave[p]
 rgbs = [[0,0,0],[pVar,0,1],[0,pVar,1],[0,1,pVar],
[pVar,1,0],[1,pVar,0],[1,0,0],[0,0,0]]
  #在光譜邊緣處顏色變暗
 if (dWave>=380) & (dWave<420):
  alpha = 0.3+0.7*(dWave-380)/(420-380)
 elif (dWave>=420) & (dWave<701):
  alpha = 1.0
 elif (dWave>=701) & (dWave<780):
  alpha = 0.3+0.7*(780-dWave)/(780-700)
 else:
  alpha = 0 #非可見區(qū)
 return [maxPix*(c*alpha)**gamma for c in rgbs[p]]

繪制光譜

def drawSpec():
 pic = np.zeros([100,360,3])
 rgb = [getRGB(d) for d in range(400,760)]
 pic = pic+rgb
 plt.imshow(pic)
 plt.yticks([])#隱藏y坐標(biāo)軸
 plt.xticks(range(0,360,50),['400','450','500','550','600','650','700','750'])
 plt.show()

以上就是Python光學(xué)仿真實(shí)現(xiàn)波長(zhǎng)與顏色之間對(duì)應(yīng)關(guān)系示例解析的詳細(xì)內(nèi)容,更多關(guān)于Python光學(xué)仿真波長(zhǎng)與顏色對(duì)應(yīng)關(guān)系的資料請(qǐng)關(guān)注本站其它相關(guān)文章!

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部