from PIL import Image, ImageEnhance from io import BytesIO def cutImg(imgsrc): """ 根据坐标位置剪切图片 :param imgsrc: 原始图片路径(str) :param out_img_name: 剪切输出图片路径(str) :param coordinate: 原始图片上的坐标(tuple) egg:(x, y, w, h) ---> x,y为矩形左上角坐标, w,h为右下角坐标 :return: from PIL import Image from PIL import ImageEnhance #原始图像 image = Image.open(‘lena.jpg‘) image.show() #亮度增强 enh_bri = ImageEnhance.Brightness(image) brightness = 1.5 image_brightened = enh_bri.enhance(brightness) image_brightened.show() #色度增强 enh_col = ImageEnhance.Color(image) color = 1.5 image_colored = enh_col.enhance(color) image_colored.show() #对比度增强 enh_con = ImageEnhance.Contrast(image) contrast = 1.5 image_contrasted = enh_con.enhance(contrast) image_contrasted.show() #锐度增强 enh_sha = ImageEnhance.Sharpness(image) sharpness = 3.0 image_sharped = enh_sha.enhance(sharpness) image_sharped.show() """ # image.save(buffered, format="PNG") # img_str = base64.b64encode(buffered.getvalue()) x=random.randint(100,260) y=random.randint(0,80) w=x+40 h=y+40 coordinate=(x,y,w,h) image = Image.open(imgsrc) region = image.crop(coordinate) region = ImageEnhance.Contrast(region).enhance(1.0) # region2 = ImageEnhance.Contrast(region).enhance(0.1) region2 = ImageEnhance.Brightness(region).enhance(0.5) region2.show() buffered = BytesIO() region.save(buffered, format="PNG") img_paste = base64.b64encode(buffered.getvalue()).decode() buffered.close() image.paste(region2, (x, y)) buffered2 = BytesIO() image.save(buffered2, format="PNG") img_bg=base64.b64encode(buffered2.getvalue()).decode() buffered2.close()
原文:https://www.cnblogs.com/zhangkui/p/11322699.html