python图片处理(PIL)

1. 简单地读入图片、显示图片

from PIL import Image
import matplotlib.pyplot as plt
img=Image.open('background.jpg')
plt.imshow(img)
plt.show()

2. 对图像中像素点的预处理

        1)获取图像尺寸 width,height

        2)data是一个1D的list,长度是width*height,list的每个元素都是1个反映该位置像素点颜色的tuple: (R,G,B)

        3)pixels是一个2D的list,len(pixels)==height and len(pixels[0])==width. 同样地,其list的每个元素都是1个tuple: (R,G,B)

width, height = img.size
data = list(img.getdata())
## pixels: a 2D list, len(pixels)==height and len(pixels[0])==width
## pixels的每个元素都是1个反映该像素点颜色的tuple:(R,G,B) 
pixels = [data[i * width: (i + 1) * width] for i in range(height)] 

3. 处理指定位置的像素点并显示结果

def double_red(img):
    return [[ (min(255,pixel[0]*2), pixel[1], pixel[2]) for pixel in row] for row in img]

res_img = double_red(pixels)
plt.imshow(res_img)
plt.show()

4. 处理前后对比图

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值