如何将苹果RGBA图片重绘为非主色调的指定颜色?
图片重绘需求及问题

我希望将这张苹果RGBA格式的PNG图片重绘为一种颜色,该颜色不属于图片的前4种主色调。
可选目标颜色
R= (255, 0 , 0) #亮红色 G= (0, 204, 0) #浅绿色 B= (0, 145, 255) #天蓝色 O= (255, 154, 0) #橙色 V = (0, 204, 0) #浅紫色(按需使用)
图片前3种主色调
- (162, 25, 17)
- (252, 222, 155)
- (214, 89, 40)
我需要将图片重绘为上述5种颜色中与前3种主色调不相近的一种。
当前卡点:如何将图片重绘为与前3种主色调不相近的指定颜色之一
已编写的部分代码
import glob, os import random from PIL import Image, ImageDraw, ImageColor, ImageEnhance # PIL即Pillow库 #==================================== def main(): global mask_image alphabet = [] #后续用来随机选择R、G、B、O作为主色 R= (255, 0 , 0) #亮红色 G= (0, 204, 0) #浅绿色 B= (0, 145, 255) #天蓝色 O= (255, 154, 0) #橙色 V = (0, 204, 0) #浅紫色(按需使用) image = Image.open("apple1.png") image.show() #编辑前预览 image.convert("RGBA") #确保转换为RGBA格式 #获取颜色值 colorValues = image.getdata() # colorValues = image.getcolors(maxcolors=256) #返回R、G、B颜色值元组 print("颜色值 = ", colorValues, "\n\n") #通过MeanShift或快速八叉树算法提取主色调 mainColors = image.quantize(colors = 4, method =2) #使用快速八叉树算法 print("主色调 = ", mainColors.getpalette()[:12], "\n\n") #图片中的4种主色调 #第一个是透明度通道? #获取图片尺寸 w, h = image.size #将图片改为随机颜色(如果能改成非主色调的颜色更好) blank_image = Image.new('RGBA', (w,h), (0, 0, 0, 0)) #创建与原图尺寸相同的透明图片 #设置透明度为0.5 out_image = Image.blend(blank_image, image, .7) out_image.show() #=============================================================== # 模拟C语言的main函数执行方式,确保Python脚本正确运行 if __name__ == '__main__': main()
内容的提问来源于stack exchange,提问作者Miss_Egg
相关产品推荐
相关产品推荐

