色彩的復(fù)現(xiàn):計算機圖像處理與數(shù)值計算_第1頁
色彩的復(fù)現(xiàn):計算機圖像處理與數(shù)值計算_第2頁
色彩的復(fù)現(xiàn):計算機圖像處理與數(shù)值計算_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

色彩的復(fù)現(xiàn):計算機圖像處理與數(shù)值計算于方軍于倩倩隨著技術(shù)的進化,人們發(fā)現(xiàn)通過RGB三原色混合可以得到各種顏色。而彩色顯示器就是利用這一點顯示彩色圖片的。對于計算機來說,構(gòu)成彩色圖像的像素點顏色信息是由R(紅色)、G(綠色)、B(藍色)三基色的值構(gòu)成,不同的RGB值可以混合出各種顏色,我們可以用一個四腳共陰極的三色LED燈,通過控制這三個值,模擬顯示不同顏色。對于圖像處理的操作,如模糊處理、色度處理、對比度調(diào)節(jié)等就是對這組數(shù)據(jù)進行復(fù)雜的數(shù)學(xué)運算。本文利用開源庫OpenCV,通過卷積運算來實現(xiàn)圖像處理,讓學(xué)生看到圖像處理操作背后的數(shù)值計算才是圖像處理的本質(zhì)?,F(xiàn)代的顯示屏對色彩的還原度已經(jīng)達到了以假亂真的程度,而顯示器從單色到彩色的過程并不是一個簡單的過程。本實驗過程首先讀取某點的像素值,即獲取該點的RGB值,并通過開源硬件Arduino控制四腳共陰極的三色LED燈,并用像素點的RGB值控制對應(yīng)的LED引腳,在另一種類型的計算機上復(fù)現(xiàn)該顏色,已實現(xiàn)對RGB顯示色彩這一概念的深刻理解。讀取圖片的像素值如上頁圖1所示為用JupyterNotebook打開源程序,分步執(zhí)行后,讀取一張標(biāo)準(zhǔn)的RGB混色示意圖片并顯示,接下來用img.shape顯示彩色圖片的長、寬、通道數(shù),用img顯示組成圖片的各個點的像素值。圖1所示的圖像,是一個80行、80列的像素點的組合,每個像素點由三個顏色信息構(gòu)成。對于彩色圖像來說,每一個像素點的值由RGB三個通道值構(gòu)成,每個通道值用0~255中間值代表不同強度,這些不同強度的RGB值可以組合出各種顏色,通過研究控制圖片的像素值來控制顯示顏色,可以幫助學(xué)生深入理解計算機中彩色圖片的構(gòu)成和顯示原理。2.改變像素值觀察區(qū)域圖像顏色變化用px=img[20,40]讀取圖片中縱坐標(biāo)都為20、橫坐標(biāo)為40的像素點的像素值,該點為藍色所以讀取值為[00254]??梢酝ㄟ^改變該點的像素值,觀察顏色的變化,如改為[25500],則該點變?yōu)榧t色;也可以通過img[30:40,20:30]=[0,0,255]改變某個區(qū)域的像素值為藍色,用同樣的方法,可以在圖中添加綠色塊和紅色塊(如圖2)。接下來,可以改變顏色塊的像素值為其他值,看看色塊顏色應(yīng)該怎樣變化,如果把三個值都設(shè)置為255,得到的是白色,都設(shè)置為0得到的就是黑色;如果設(shè)置為相同的三個中間值如[100100100],就會得到一個灰度塊,同時改變這個值可以得到亮度不同的灰度塊。了解了圖像矩陣色彩信息的原理之后,便可以在Arduino平臺上復(fù)現(xiàn)圖片上任意一點的色彩信息。3.對像素點顏色的模擬顯示Pinpong庫是一套控制開源硬件主控板的Python庫,通過在Python程序中加載PinPong庫即可連接硬件,通過Arduino板D8、D7、D6控制紅綠藍三色全彩LED燈三個對應(yīng)引腳,把讀取的某點像素值通過pw0.write_analog()賦值給這些引腳,實現(xiàn)模擬顯示該點顏色的功能。(1)讀取像素點的值用px=img[40,30]獲得縱坐標(biāo)40,橫坐標(biāo)30的像素點色值為[2554253],該點呈現(xiàn)粉色。這三個值對應(yīng)列表px中的px[0]、px[1]、px[2],接下來要用這三個值控制共陰極的RGB三色LED的三個對應(yīng)腳。幸運的是,色彩的RGB顯示范圍和Arduino中的模擬引腳的輸入范圍相當(dāng),這省去了換算的麻煩,可以直接使用px當(dāng)中的分量數(shù)值(如下頁圖3、圖4)。(2)模擬顯示讀取像素點顏色把讀取計算機圖片上某個點的色彩數(shù)值用pinpong庫中的pw0.write_analog(pw[0])加載到Arduino的對應(yīng)腳上,以顯示計算機色彩在單片機上的還原,運行程序得到的實驗裝置上顯示粉色的效果如圖5所示。這樣,用Arduino復(fù)現(xiàn)彩色圖片中像素點的色彩信息,就完成了彩色顯示器中從0到1的突破。顯示器可以看作許多極小的彩色LED點的組合,通過這種簡單的代碼級別的對像素點

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論