国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

色彩的復(fù)現(xiàn):計算機(jī)圖像處理與數(shù)值計算

2021-03-24 11:58于方軍于倩倩
中國信息技術(shù)教育 2021年5期
關(guān)鍵詞:像素點圖像處理開源

于方軍 于倩倩

隨著技術(shù)的進(jìn)化,人們發(fā)現(xiàn)通過RGB三原色混合可以得到各種顏色。而彩色顯示器就是利用這一點顯示彩色圖片的。對于計算機(jī)來說,構(gòu)成彩色圖像的像素點顏色信息是由R(紅色)、G(綠色)、B(藍(lán)色)三基色的值構(gòu)成,不同的RGB值可以混合出各種顏色,我們可以用一個四腳共陰極的三色LED燈,通過控制這三個值,模擬顯示不同顏色。對于圖像處理的操作,如模糊處理、色度處理、對比度調(diào)節(jié)等就是對這組數(shù)據(jù)進(jìn)行復(fù)雜的數(shù)學(xué)運算。本文利用開源庫OpenCV,通過卷積運算來實現(xiàn)圖像處理,讓學(xué)生看到圖像處理操作背后的數(shù)值計算才是圖像處理的本質(zhì)。

現(xiàn)代的顯示屏對色彩的還原度已經(jīng)達(dá)到了以假亂真的程度,而顯示器從單色到彩色的過程并不是一個簡單的過程。本實驗過程首先讀取某點的像素值,即獲取該點的RGB值,并通過開源硬件Arduino控制四腳共陰極的三色LED燈,并用像素點的RGB值控制對應(yīng)的LED引腳,在另一種類型的計算機(jī)上復(fù)現(xiàn)該顏色,已實現(xiàn)對RGB顯示色彩這一概念的深刻理解。

讀取圖片的像素值

如上頁圖1所示為用Jupyter Notebook打開源程序,分步執(zhí)行后,讀取一張標(biāo)準(zhǔn)的RGB混色示意圖片并顯示,接下來用img.shape顯示彩色圖片的長、寬、通道數(shù),用img顯示組成圖片的各個點的像素值。

圖1所示的圖像,是一個80行、80列的像素點的組合,每個像素點由三個顏色信息構(gòu)成。對于彩色圖像來說,每一個像素點的值由RGB三個通道值構(gòu)成,每個通道值用0~255中間值代表不同強(qiáng)度,這些不同強(qiáng)度的RGB值可以組合出各種顏色,通過研究控制圖片的像素值來控制顯示顏色,可以幫助學(xué)生深入理解計算機(jī)中彩色圖片的構(gòu)成和顯示原理。

2.改變像素值觀察區(qū)域圖像顏色變化

用px=img[20,40]讀取圖片中縱坐標(biāo)都為20、橫坐標(biāo)為40的像素點的像素值,該點為藍(lán)色所以讀取值為[0 0 254]??梢酝ㄟ^改變該點的像素值,觀察顏色的變化,如改為[255 0 0],則該點變?yōu)榧t色;也可以通過img[30:40,20:30]=[0,0,255]改變某個區(qū)域的像素值為藍(lán)色,用同樣的方法,可以在圖中添加綠色塊和紅色塊(如圖2)。

接下來,可以改變顏色塊的像素值為其他值,看看色塊顏色應(yīng)該怎樣變化,如果把三個值都設(shè)置為255,得到的是白色,都設(shè)置為0得到的就是黑色;如果設(shè)置為相同的三個中間值如[100 100 100],就會得到一個灰度塊,同時改變這個值可以得到亮度不同的灰度塊。了解了圖像矩陣色彩信息的原理之后,便可以在Arduino平臺上復(fù)現(xiàn)圖片上任意一點的色彩信息。

3.對像素點顏色的模擬顯示

Pinpong庫是一套控制開源硬件主控板的Python庫,通過在Python程序中加載PinPong庫即可連接硬件,通過Arduino板D8、D7、D6控制紅綠藍(lán)三色全彩LED燈三個對應(yīng)引腳,把讀取的某點像素值通過pw0.write_analog()賦值給這些引腳,實現(xiàn)模擬顯示該點顏色的功能。

(1)讀取像素點的值

用px=img[40,30]獲得縱坐標(biāo)40,橫坐標(biāo)30的像素點色值為[255 4 253],該點呈現(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)模擬顯示讀取像素點顏色

把讀取計算機(jī)圖片上某個點的色彩數(shù)值用pinpong庫中的pw0.write_analog(pw[0])加載到Arduino的對應(yīng)腳上,以顯示計算機(jī)色彩在單片機(jī)上的還原,運行程序得到的實驗裝置上顯示粉色的效果如圖5所示。

這樣,用Arduino復(fù)現(xiàn)彩色圖片中像素點的色彩信息,就完成了彩色顯示器中從0到1的突破。顯示器可以看作許多極小的彩色LED點的組合,通過這種簡單的代碼級別的對像素點的操作,點動成線,線動成面,利用這樣的原理,是否會有更加豐富的顯示效果,留給大家者進(jìn)一步思考。而技術(shù)突破背后的數(shù)學(xué)知識、計算思維和實踐智慧,則是信息科技學(xué)科的育人價值所在。

猜你喜歡
像素點圖像處理開源
“課程思政”視域下職業(yè)學(xué)?!秷D像處理》課程教學(xué)改革實踐
構(gòu)建《Photoshop圖像處理》課程思政實踐教學(xué)路徑的探索
校園武術(shù)“學(xué)、練、賽”一體化實踐探索
基于圖像處理與卷積神經(jīng)網(wǎng)絡(luò)的零件識別
五毛錢能買多少頭牛
2019(第十四屆)開源中國開源世界
2019開源杰出貢獻(xiàn)獎
一種X射線圖像白點噪聲去除算法
基于灰度直方圖的單一圖像噪聲類型識別研究
基于canvas的前端數(shù)據(jù)加密
奉节县| 白山市| 霍城县| 介休市| 故城县| 临猗县| 阿坝县| 沙坪坝区| 寿宁县| 壶关县| 福建省| 河北区| 松阳县| 天等县| 赫章县| 五寨县| 鄂托克前旗| 巴中市| 府谷县| 塔城市| 白银市| 闻喜县| 城步| 日土县| 兴业县| 沂水县| 霞浦县| 顺平县| 乌审旗| 昭觉县| 集贤县| 邯郸县| 远安县| 长治市| 五莲县| 财经| 交口县| 东海县| 汕尾市| 新丰县| 潜山县|