1. 程式人生 > >Machine Learning 李巨集毅 HW0字數統計和圖片淡化

Machine Learning 李巨集毅 HW0字數統計和圖片淡化

words.txt和圖片下載地址:words.txt和圖片

題目1

出現字數統計。

1.讀取words.txt中的所有英文單詞,單詞由分隔。

2.按照單詞出現的次數,給予編號(0,1,2)。

3.統計單詞出現的次數。

4.得到次數和編碼輸出至Q1.txt,每一行都為:

<單詞><編號><出現次數>

5.單詞考慮大小寫,Ntu和ntu為不同單詞

例子:

輸入words.txt 中為 ntu ml mlds ml ntu ntuee

要求輸出的Q1.txt:

ntu 0 2

ml 1 2

mlds 2 1

ntuee 3 1

程式碼

with open('G:\ML\ML_Lee\homework\HW0\words.txt','r') as o:
    instr = o.read()#讀取檔案中的全部資料
    instr = instr.split() # 將字串分割,並存在一個list裡面
    d = dict()
    l = list() #用來儲存字串,並且去重
    for s in instr:
        if s not in l:
            l.append(s)
        if s in d:
            d[s] += 1
        else:
            d[s] = 1
    i = 0

    #列印結果
    # for item in l:
    #     print(item,i,d[item])
    #     i += 1

    #將結果儲存到Q1.txt
    with open('G:\ML\ML_Lee\homework\HW0\Q1.txt','w') as w:
        for item in l:
            temp = item + " "+str(i)+" "+str(d[item])+"\n"
            i += 1
            w.write(temp)

題目2

圖片淡化
1.讀取westbrook.jpg

2.把每個pixel的RGB數值都減半(ex: (122, 244, 245)->(61, 122, 122)),再將圖片輸出為Q2.jpg

3.RGB數值去掉小數點。

要求效果如下:
在這裡插入圖片描述
在這裡插入圖片描述

程式碼

from PIL import Image

im = Image.open('G:/ML/ML_Lee/homework/HW0/westbrook.jpg')#開啟圖片
pix = im.load()

# 獲得影象尺寸
w, h = im.size
newim = Image.new("RGB",(w,h))# Image.new(model,size)使用給定的變數mode和size生成新的影象

for i in range(w):
    for j in range(h):
        r,g,b = pix[i,j]
        newim.putpixel((i,j),(r//2,g//2,b//2))
newim.save('G:/ML/ML_Lee/homework/HW0/Q2.jpg','jpeg')