期末了,用Python寫個自動批改作業系統
python 學習交流 Q 群: 906715085###
from __future__ import print_function
from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw
import os
import shutil
import time
# %% 要生成的文字
label_dict = {0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9', 10: '=', 11: '+', 12: '-', 13: ' × ', 14: ' ÷ '}
# 文字對應的資料夾,給每一個分類建一個檔案
for value,char in label_dict.items():
train_images_dir = "dataset"+"/"+str(value)
if os.path.isdir(train_images_dir):
shutil.rmtree(train_images_dir)
os.makedirs(train_images_dir)
# %% 生成圖片
def makeImage(label_dict, font_path, width=24, height=24, rotate = 0):
# 從字典中取出鍵值對
for value,char in label_dict.items():
# 建立一個黑色背景的圖片,大小是 24*24
img = Image.new("RGB", (width, height), "black")
draw = ImageDraw.Draw(img)
# 載入一種字型 , 字型大小是圖片寬度的 90%
font =外匯跟單gendan5.com ImageFont.truetype(font_path, int(width*0.9))
# 獲取字型的寬高
font_width, font_height = draw.textsize(char, font)
# 計算字型繪製的 x,y 座標,主要是讓文字畫在圖示中心
x = (width - font_width-font.getoffset(char)[0]) / 2
y = (height - font_height-font.getoffset(char)[1]) / 2
# 繪製圖片,在那裡畫,畫啥,什麼顏色,什麼字型
draw.text((x,y), char, (255, 255, 255), font)
# 設定圖片傾斜角度
img = img.rotate(rotate)
# 命名檔案儲存,命名規則: dataset/ 編號 /img- 編號 _r- 選擇角度 _ 時間戳 .png
time_value = int(round(time.time() * 1000))
img_path = "dataset/{}/img-{}_r-{}_{}.png".format(value,value,rotate,time_value)
img.save(img_path)
# %% 存放字型的路徑
font_dir = "./fonts"
for font_name in os.listdir(font_dir):
# 把每種字型都取出來,每種字型都生成一批圖片
path_font_file = os.path.join(font_dir, font_name)
# 傾斜角度從 -10 到 10 度,每個角度都生成一批圖片
for k in range(-10, 10, 1):
# 每個字元都生成圖片
makeImage(label_dict, path_font_file, rotate = k)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2904536/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 期末人福音——用Python寫個自動批改作業系統Python作業系統
- 用 python 寫一個自動化部署工具Python
- 用python寫一個自動化盲註指令碼Python指令碼
- 對希望更改作業系統的資料中心的建議作業系統
- 分享一個Python寫的windows環境系統服務來自動化管理防火牆規則PythonWindows防火牆
- 測試修改作業系統時間&時區對oracle的影響作業系統Oracle
- 谷歌宣佈一個用Rust編寫的新作業系統:KataOS谷歌Rust作業系統
- 期貨合約系統開發,合約自動跟單系統開發
- 手機寫作業系統之 製作第1個啟動盤作業系統
- python自動統計zabbix系統監控覆蓋率Python
- 基於Python的人臉自動戴口罩系統Python
- 「懶惰的美德」我用 python 寫了個自動生成給文件生成索引的指令碼Python索引指令碼
- python+pytest介面自動化(12)-自動化用例編寫思路 (使用pytest編寫一個測試指令碼)Python指令碼
- python連線釘釘自動化提交OA審批Python
- RFID讀寫器在工業自動化的應用分析
- 用批處理自動建立A-Z共26個空資料夾的命令
- 如何系統地自學 Python?Python
- 用深度學習DIY自動化監控系統深度學習
- CRM系統自動化業務流程的好處
- Aero:用rust編寫的新現代作業系統Rust作業系統
- kickstart半自動安裝centos系統與pxe自動安裝centos系統CentOS
- 自動化系統S模式雷達應用筆記模式筆記
- 辦公自動化系統必備的5個要素
- 如何用python自動編寫《赤壁賦》word文件Python
- 系統 核心啟動期間使用ftrace
- 微信群總是有人發廣告?看我用Python寫一個自動化機器人消滅他!Python機器人
- 作業系統寫題總結作業系統
- “如果不能在一個月內寫出作業系統,那你就是個笨蛋!”作業系統
- 這個國家棄用Windows作業系統?而我們的國產作業系統卻很少人用Windows作業系統
- 重灌win10系統用這種方式,自動化搞定!Win10
- 我也用Node寫個每天給她自動發微信的指令碼指令碼
- Python自動化運維之psutil系統效能資訊模組Python運維
- 分析一個企業CRM系統應用的案例
- python 桌面應用自動化測試Python
- 作業人員護目鏡佩戴自動識別系統
- 用Python寫一個圖片標註工具Python
- 用 Python 寫個貪吃蛇,保姆級教程!Python
- 自動刪除過期的statspack統計資料