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')

猜你喜欢

转载自blog.csdn.net/lwycc2333/article/details/83855984
今日推荐