首頁 > 評測 > PIL與OLED的組合--Adafruit 128x64 OLED for Raspberry上手
PIL與OLED的組合--Adafruit 128x64 OLED for Raspberry上手
- [導(dǎo)讀]
- Python Imaging Library (PIL)是python下的圖像處理模塊,支持多種格式,并提供強大的圖形與圖像處理功能。OLED顯示屏是利用有機電自發(fā)光二極管制成的顯示屏。由于同時具備自發(fā)光有機電激發(fā)光二極管,不需背光源、對比度高、厚度薄、視角廣、反應(yīng)速度快、可用于撓曲性面板、使用溫度范圍廣、構(gòu)造及制程較簡單等優(yōu)異之特性,被認為是下一代的平面顯示器新興應(yīng)用技術(shù)。
disp.display()
傳統(tǒng)的繪圖方法,先寫一個繪點的函數(shù),然后不管是繪制字符,還是繪制幾何圖形及圖像,都是調(diào)用這個繪點函數(shù)來實現(xiàn),如果要實現(xiàn)更好的性能,也許會通過塊操作(包括硬件DMA等),不過在這里,我們看不到任何與繪點相關(guān)的操作,我們看到的只是一幅圖,沒錯,就是一幅圖!
前面的初始化代碼我們略過不提,其中語句
font = ImageFont.truetype('msyh.ttc', 12)
創(chuàng)建一個ImageFont對象,該對象指定了用來向Image中繪制字符所使用的字體,可以直接使用truetype字庫,同時指明字體大小。
image = Image.new('1', size)
draw = ImageDraw.Draw(image)
draw.text((0, 0), '古詩一首', font=font, fill=255)
draw.text((0, 20), '白日依山盡, 黃河入海流', font=font, fill=255)
draw.text((0, 38), '欲窮千里目, 更上一層樓', font=font, fill=255)
這一部分代碼先創(chuàng)建一幅圖片,然后使用ImageDraw向上繪制指定的文字,使用指定的字體及填充色。
最后的兩行代碼將圖像顯示到OLED上,很簡單,效果呢,也很簡單。
不過調(diào)用起來確實非常舒服!
如果直接加載圖像文件并顯示,則步驟更簡單,如下是顯示非常有名的lena圖像的代碼
from PIL import Image, ImageDraw, ImageFont
import Adafruit_SSD1306
RST = None
DISP_ADDR = 0x3c
disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST)
disp.begin()
disp.clear()
disp.display()
image = Image.open('lena.png').convert('1')
disp.image(image)
disp.display()
代碼就不分析了,調(diào)試效果如下,后面一張圖是原圖
差別有點大,主要原因是圖片二值化后細節(jié)丟失太多,再加上縮放后細節(jié)也會丟失!
總體說來,Adafruit 128x64 OLED for Raspberry不錯!一方面,我們終于可以扔掉顯示器了(P:-)),其次,可以使用這個模塊來學(xué)習(xí)簡單的計算圖形學(xué)(繪圖,例如直線生成算法,曲線的生成算法等),細節(jié)都隱藏在PIL中;還有,再也不用擔(dān)心找不到設(shè)備的IP地址了,如下
當(dāng)然,要是價格再便宜一點就更好了!
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗,暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術(shù)要求》國家標(biāo)準(zhǔn)編制 2024-08-29
- NRF52810藍牙數(shù)字耳機找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時前
- 12V汽車啟動電源項目BMS設(shè)計
預(yù)算:¥50000023小時前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時前
- PLC項目調(diào)試修改
預(yù)算:¥100001天前
- 起動電機控制器開發(fā)
預(yù)算:¥1100001天前