使用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')
结果展示
存在问题 使用全图遍历会导致周围环境变色,如何降噪是一个关键的问题
预期解决办法 使用切片的方法对局部进行颜色处理,避免背景的变化