https://github.com/maplezzz/NTU_ML2017_Hung-yi-Lee_HW
Q1:矩阵运算
题目要求:
- 读取matrixA.txt and matrixB.txt
- 进行矩阵乘法运算
- 由大到小排序后输出numpy
#矩阵运算 import numpy as np #import A as B,当A过长时,方便后续引用 with open("data/matrixA.txt", "r") as lines: #以只读的方式打开txt文件 matrixA = lines.read().split(',') matrixA = list(map(int, matrixA)) with open("data/matrixB.txt", "r") as lines: matrixB = lines.readlines() matrixB = [line.strip() for line in matrixB] matrixB = [list(map(int, line.split(','))) for line in matrixB] A = np.array(matrixA) B = np.array(matrixB) #矩阵形式 C = A.dot(B) #矩阵相乘 C = np.sort(C) #排序 np.savetxt("ans_one.txt", C, fmt="%d") #保存为txt文件
结果:
Q2:图像处理
题目描述:
- 读取两个图片
- 使用后者异于前者的部分产生相同格式的新图片pillow
#from __future__ import print_function
#导入一个模块中的某个函数,'__future__'把下一个新版本的特性导入到当前版本
from PIL import Image
#Python Imaging Library,图像处理标准库
img1 = Image.open("data/lena.png")
img2 = Image.open("data/lena_modified.png")
#打开图片
x, y = img2.size
#获取图片大小
for i in range(0, x):
for j in range(0, y):
if img1.getpixel((i,j)) == img2.getpixel((i,j)):
#获取像素值
img2.putpixel((i,j), 255)
#将像素值相同的地方涂白
img2.save("ans_two.png")