とらりもんHOME  Index  Search  Changes  Login

exercise 1 answer

exercise 1.1

# Exercise 1.1.1
import PIL # import PIL module (library).
from PIL import Image # import Image module
img_PIL = Image.open("lena.png", 'r')  

# Exercise 1.1.2
import matplotlib # import matplotlib module (library).
import matplotlib.pyplot as plt # import matplotlib.pyplot module.
from matplotlib.image import imread # import imread function.
img_plt  = imread("lena.png")

# Exercise 1.1.3
type(img_PIL)
type(img_plt)

# Exercise 1.1.4
img_PIL_gray = img_PIL.convert('L') #https://pillow.readthedocs.io/en/3.1.x/reference/plugins.html#module-PIL.PngImagePlugin
img_PIL_gray.save("lena.png"[:-4] + "_gray_PIL.png", 'PNG') 

# Exercise 1.1.5
import numpy as np
img_size_x = img_plt.shape[0]
ex_5 = []
for i in range(0, img_size_x):
  for p in range(0, img_size_x):
    ex_5.append((img_plt[i][p][0]+img_plt[i][p][1]+img_plt[i][p][2])/3) 

ex_5_np = np.array(ex_5)
img_size = ex_5_np.shape[0]
img_plt_result = []
for i in range(0, img_size):
  img_plt_result.append(ex_5_np[i])
  img_plt_result.append(ex_5_np[i])
  img_plt_result.append(ex_5_np[i])

img_plt_result = np.array(img_plt_result)
img_plt_result = img_plt_result.reshape(512, 512, 3)

# plt.imshow(img_plt_result) # showing a image
# plt.show() # showing a image 

plt.imshow(img_plt_result)
plt.savefig('lena_gray_plt')

exercise 1.2

import PIL
from PIL import Image
import numpy as np
img = Image.open("lena.png", 'r')
print(img.size)

# Exercise 1.2.2
img_resize_Pr = img.resize((200,200)) 
img_resize_Pr.save("lena_PIL_resample.png", 'PNG') 

# Exercise 1.2.3 (using PIL)
box = (158, 158, 358, 358)
img_resize_Pc = img.crop(box) 
img_resize_Pc.save("lena_PIL_cutting.png", 'PNG')
Last modified:2018/05/30 22:42:28
Keyword(s):
References: