python将红色玫瑰转化为蓝色妖姬

python将红色玫瑰转化为蓝色妖姬

image.png
使用python语言将这个红色的玫瑰花变成蓝色

步骤:
1.将图片进行导入
2.将图片使用numpy包变成矩阵格式
3.遍历numpy中的像素点,对红色的像素点进行处理,变成蓝色
4.将处理完的矩阵变成图片格式保存

需要使用的包
1.numpy
2.pillow

代码部分

import numpy as np
from PIL import Image

#调用一个图片
im = np.array(Image.open('redrose.jpg'))

#查看图片信息
print(type(im))
print(im.dtype)
print(im.shape)

#复制一个图片
im1=im.copy()

#改变颜色
for i in im1:
    for j in i:
        if j[0]>=0:

                if j[1]<=100:
                    j[2]=j[2]+50
                    j[0]=0
                    j[1]=j[1]+10
                if j[1]<=150:
                    j[0]=5


#保存图片
im2 = Image.fromarray(im1)
im2.save('E:/bluerose1.jpg')

结果展示
image.png
存在问题
使用全图遍历会导致周围环境变色,如何降噪是一个关键的问题

预期解决办法
使用切片的方法对局部进行颜色处理,避免背景的变化