python如何识别网络图片是否是黑白彩图及色彩标签

想要得到一张网络图片的内容透明背景白色的效果,并获得该图片的属于红橙黄绿青蓝紫的色系标签,以及是否是黑白图和彩图的标签,可以通过下面的方式进行。

第一步:获取网络图的图片内容及类型,并经过两次校验是否是彩色图然后进行图片颜色及通道判断,之后将图片颜色调整的数组转图片二进制流处理。

import requests
import io
import base64
import http.client

from PIL import Image, ImageStat
from io import BytesIO


response = requests.get("网络图片地址")
if len(response.content)>500:
    #获取网络图片的内容的
    image = Image.open(BytesIO(response.content))
    #获取图片的类型L/LA/RBG/RBGA
	Tmode = image.mode
    #这里我应用的是图片均宽700 所以参数设置的是700,2
    re = detect_color_image(image, 700, 2, True)

    if re[0] =='grayscale' or re[0] == 'Black':
		
			if colorsArr[1] == 0:
				print('黑白图')
				#新数组数据存入图片中
				img.putdata(colorsArr[0])
				#img.show()
				
				#获取图片调整后的数组转二进制流
				img_bytes = io.BytesIO()
                #存入png格式		
				img.save(img_bytes, format="png")
				#img.show()

你可能感兴趣的:(python,图片处理,python,开发语言,图像处理,算法)