163
社区成员




Numpy 和 Pillow在图像处理中的应用
1) 掌握Numpy的基本应用
2)掌握 Pillow的简单用法
任务 1)从以下网站:南通大学[学校掠影](https://www.ntu.edu.cn/77/list.htm)任选一副图片下载,用Python程序显示原始图片。
一开始写成了img = Image.open('F:\2345Downloads\08543d11-9fd8-47ce-b589-accc897af81c_s.jpg')出现错误,发现是地址中的‘\’被当成转义字符处理,导致地址错误。解决方案:在地址前面加r防止转义,或者把所有的单反斜杠变成双反斜杠
from PIL import Image
img = Image.open('F:\\2345Downloads\\08543d11-9fd8-47ce-b589-accc897af81c_s.jpg')
img.show()
任务 2)将图片变成黑白图片,并用Python程序显示。
from PIL import Image
import numpy as np
img = Image.open('F:\\2345Downloads\\08543d11-9fd8-47ce-b589-accc897af81c_s.jpg')
img_array = np.array(img)
img_black_and_white = img_array[:, :, 0]
Image.fromarray(img_black_and_white).show()
任务3)将图片左右翻转,并用Python程序显示。
from PIL import Image
import numpy as np
img = Image.open('F:\\2345Downloads\\08543d11-9fd8-47ce-b589-accc897af81c_s.jpg')
img_array = np.array(img)
int_flipped = img_array[:, ::-1, :]
Image.fromarray(int_flipped).show()
任务4)将图片上下翻转,并用Python程序显示。
from PIL import Image
import numpy as np
img = Image.open('F:\\2345Downloads\\08543d11-9fd8-47ce-b589-accc897af81c_s.jpg')
img_array = np.array(img)
int_flipped = img_array[::-1, :, :]
Image.fromarray(int_flipped).show()
任务5)自己设想一种图片处理任务,描述清楚,并给出实现代码和程序显示图片结果。
对像素进行裁剪并左右翻转图片,并对像素进行计算
from PIL import Image
import numpy as np
img = Image.open('F:\\2345Downloads\\08543d11-9fd8-47ce-b589-accc897af81c_s.jpg')
img_array = np.array(img)
int_cropped = img_array[0:200, 0:200, :]
int_flipped = int_cropped[:, ::-1, :]
Image.fromarray(int_flipped*2).show()