群里的人问怎么改图片颜色.
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()