图像变换的基本流程

图像变换的基本流程

读入一个图像,将其变成数组,改变图像对应数组的RGB值,修改后保存为新的图片。
图像变换的基本流程
猫片
代码:

from PIL import  Image
import numpy as np
a = np.array(Image.open("D:/日常撸代码/Python数据分析与展示/210316/猫片.jpg"))
b = [255,255,255]-a
im = Image.fromarray(b.astype('uint8'))
im.save("D:/日常撸代码/Python数据分析与展示/210316/猫片1.jpg")

代码解释:
使用np.array和Image.open将原来的猫片变为数组,使用[255,255,255]-a可以计算原图像的RGB三个通道补植,fromarray函数能使用数组b的参数生成一张新的图片,其中astype函数可以改变数组中每一个元素的数据类型,这里我们改为uint8类型。最后使用save函数来保存我们的图片,我们将其取名为猫片2
图像变换的基本流程
猫片1

代码

a = np.array(Image.open("D:/日常撸代码/Python数据分析与展示/210316/猫片.jpg").convert('L'))
b = 255 -a
im=Image.fromarray(b.astype('uint8'))
im.save("D:/日常撸代码/Python数据分析与展示/210316/猫片2.jpg")

代码解释
convert(L)函数将彩色图片的RGB值转换为灰度值,255-a则是取灰度值的反补,然后保存图片。
图像变换的基本流程
猫片2

代码

a = np.array(Image.open("D:/日常撸代码/Python数据分析与展示/210316/猫片.jpg").convert('L'))
c=(100/255)*a+150#区间变换
im = Image.fromarray(c.astype('uint8'))
im.save("D:/日常撸代码/Python数据分析与展示/210316/猫片3.jpg")

代码解释

第二行对数组进行一个区间变换,得到猫片3。

图像变换的基本流程

猫片3

代码

d=255*(a/255)**2#像素平方
im=Image.fromarray(d.astype('uint8'))
im.save("D:/日常撸代码/Python数据分析与展示/210316/猫片4.jpg")

代码解释

对像素进行平方运算,得到数组d,生成猫片4

图像变换的基本流程

猫片4

上一篇:超级鹰破解图片验证码脚本


下一篇:Python库:Imageio库(待完善)