163
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
Numpy 和 Pillow在图像处理中的应用
1)掌握Numpy的基本应用
2)掌握Pillow的简单用法
任务 1)从以下网站:南通大学[学校掠影](https://www.ntu.edu.cn/77/list.htm)任选一副图片下载,用Python程序显示原始图片。
import numpy as np
from PIL import Image
im = Image.open('0b88c983-cb68-4cb9-b087-099b2f799cac.jpg')
im.show()
任务 2)将图片变成黑白图片,并用Python程序显示。
# 单独提取红色分量
im_red = im_array[:, :, 0]
Image.fromarray(im_red).show()
# 提取蓝色分量
im_blue = im_array[:, :, 2]
Image.fromarray(im_blue).show()
# 提取绿色分量
im_green = im_array[:, :, 1]
Image.fromarray(im_green).show()
任务3)将图片左右翻转,并用Python程序显示。
# 图像左右翻转
im_flipped = im_array[:, ::-1, :]
Image.fromarray(im_flipped).show()
任务4)将图片上下翻转,并用Python程序显示。
# 图像上下翻转
im_flipped = im_array[::-1, :, :]
Image.fromarray(im_flipped).show()
任务5)自己设想一种图片处理任务,描述清楚,并给出实现代码和程序显示图片结果。
给图片加上边框,使用ImageOps的expand()方法在图片的周围添加边框,其中border参数指定边框的宽的,fill参数指定边框的颜色
border_width = 10
border_color = 'red'
border_image = ImageOps.expand(im, border=border_width, fill=border_color)
border_image.show()