numpy pil 4行代码修改图片颜色 倒置 马赛克

群里的人问怎么改图片颜色.

numpy + PIL 实现;

主要还是用了numpy中的切片, 和指定元素顺序功能

比如:

kk =[[[1,2,3],[4,5,6]],[[10,9,8],[7,8,9]]]
d = np.array(kk)
print(d)
print("-" * 10)
print(d[:,:,[2,0,1]]) #[2,0,1] -> 把原来的0,1,2 换个位置

#echo:
[[[ 1  2  3]
  [ 4  5  6]]

 [[10  9  8]
  [ 7  8  9]]]
----------
[[[ 3  1  2]
  [ 6  4  5]]

 [[ 8 10  9]
  [ 9  7  8]]]

 

 

修改颜色  黑白照片:

img = Image.open("d:/code/js/a (1).jpg") #type:Image
d = np.array(img)
img2 = Image.fromarray(d[:,:,0])
img2.show()

 

倒置:

img = Image.open("d:/code/js/a (1).jpg") #type:Image
d = np.array(img)
img2 = Image.fromarray(d[::-1,::-1]) #把内部数组倒置 , 元素保持不变
img2.show()

 

马赛克:

img = Image.open("d:/code/js/a (1).jpg") #type:Image
d = np.array(img)
img2 = Image.fromarray(d[::10,::10])#10个数组一取
img2.show()

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值