Python自动化:几分钟搞定数万张图片处理,完成美工一周工作量

在这个信息爆炸的时代,电子商务的竞争日益激烈,每一个细节都可能成为影响店铺流量的关键因素。最近,我的一位朋友就遇到了这样的挑战:他的阿里巴巴国际站店铺流量一直停滞不前,尽管高薪聘请了专业运营,但效果依然不明显。

运营在仔细审查店铺后,提出了一个看似简单却极具挑战性的建议:将所有产品图片的左上角加上品牌logo。这个建议看似简单,但实际操作起来却困难重重。首先,品牌logo的大小需要根据图片大小进行调整,以确保logo既不过于突兀,又能清晰展现品牌特色。其次,阿里巴巴国际站后台有着严格的规则,如果logo过大,产品图的评分将会降低,进而影响产品的曝光率。

原图:

加上logo后的图片

面对这一挑战,我的朋友首先想到的是请美工手动处理。然而,店铺中几千个产品,每个产品又有六张主图,总计几万张图片需要处理,同时每一张图片还要尝试加上不同尺寸的logo,美工团队至少需要一周的时间才能完成。时间就是金钱,在竞争激烈的电商领域,一周的时间足以让竞争对手抢占先机。

面对这种重复性冗余工作,正是Python自动化办公大显身手的时刻。三十行代码轻松完成美工团队一周的工作量

from PIL import Image
import numpy as np 
import os


def add_logo(save_dir='.\mainpic_logo_new',resize_radio=1,logo_dis=(76,72)):
    logo_img = Image.open(r"D:\\BaiduSyncdisk\\WORK\Honor\\国际站运营\\logo.png")
    print(logo_img.size)
    logo_img = logo_img.resize((int(403*resize_radio), int(52*resize_radio)),Image.ANTIALIAS)
    print(logo_img.size)
    # logo_img.show()


    img_path= 'D:\\BaiduSyncdisk\\WORK\\Honor\\国际站运营\\主图加LOGO\\主图加LOGO'
    save_dir = save_dir
    for pic_file in os.listdir(img_path):
        # if not os.path.exists(os.path.join(save_dir,pic_file)):
        save_pic_path = os.path.join(save_dir,pic_file)
        os.makedirs(save_pic_path,exist_ok=True)
        print(save_pic_path)
        par_path = os.path.join(img_path,pic_file)
        for pic in os.listdir(par_path):
            try:
                pic_img = os.path.join(par_path,pic)
                img1 = Image.open(pic_img)
                print(np.array(img1).shape)
                img1.paste(logo_img, logo_dis, mask = logo_img)
                print(os.path.join(save_pic_path,pic))
                img1.save(os.path.join(save_pic_path,pic))
            except:
                continue
if __name__ == "__main__":
    radio_size_list = [1,0.9,0.8,0.7,0.6]
    logo_dis_list = [(76,72),(66,62),(58,56),(49,46),(39,36)]
    for radio_size in radio_size_list:
        for logo_dis in logo_dis_list:
            save_dir = f".\mainpic_logo_new_{radio_size}_{logo_dis}"
            add_logo(save_dir,radio_size,logo_dis)


首先,我利用Python的图像处理库Pillow来读取和处理图片。通过Pillow,我可以轻松地获取图片的尺寸,并根据尺寸调整logo的大小。接着,我使用Pillow的绘图功能,在图片的右上角绘制品牌logo。为了确保logo的位置和大小都符合要求,一张图片生成了五个不同尺寸的logo供业务人员选择。

然后,我利用Python的文件处理功能,遍历店铺中所有的产品图片,并对每张图片进行处理。这个过程虽然看似简单,但实际上需要处理大量的文件和数据,因此我特别注意了代码的性能和稳定性。

最后,我将处理后的图片进行了保存,并进行了最后的检查。整个过程只用了几分钟的时间,就完成了原本需要一周才能完成的任务。

处理前的图片

处理后的图片【左上角贴上标签】

通过这次经历,朋友深刻地体会到了Python自动化办公的魅力。他说:“以前觉得自动化办公只是个概念,没想到实际操作起来这么强大。这次不仅解决了我们的燃眉之急,还让我对Python有了更深的认识和兴趣。”

确实,Python作为一种强大的编程语言,在自动化办公领域有着广泛的应用。无论是数据处理、文件操作还是图像处理,Python都能轻松应对。在这个信息爆炸的时代,掌握Python自动化办公技能,无疑会让我们在工作中更加得心应手,事半功倍。

相关文章

Python自动生成手绘、证件照、九宫格...太炫酷了

Python像是叮当猫的口袋,几乎什么都能做,适合外行小白们去摸索学习,能极大的增加对编程的兴趣。有些工具用python来实现不一定是技术上的最优选择,但可能是最简洁、最面向大众的。介绍几个不错的处理...

教你使用python编程绘制函数图像

函数公式很抽象,图像更直观,但聪明的我们总不会手画图像吧?来学习一下用Python怎么画函数图像吧。首先打开Visual Studio Code(后面简称VSCode),点击New File(中文版是...

新手必看!如何用Python绘制复杂函数图像

在数据可视化的奇妙世界里,Python 就像是一把万能钥匙,能够帮我们打开一扇扇通往复杂函数图像绘制的大门。今天,就跟着我一起来探索如何用 Python 绘制那些令人惊叹的复杂函数图像吧!对于数学爱好...

怎么做到的?用python制作九宫格图片,太棒了

1. ? 应用场景 ?当初的想法是:想把一张图切割成九等份,发布到微信朋友圈,切割出来的图片,上传到朋友圈,发现微信不按照我排列的序号来排版。这样的结果是很耗时间的。让我深思,能不能有一种,直接拼接成...

python调用 stable diffusion批量生成图片代码解析

文中大多数内容来源github,版权属于原作者,1. 基础环境在windows上做示例,本地要安装了pythonpython的pip模块 安装 webuiapi编辑器 pyCharm 2024.2(c...

python图像处理入门-提取轮廓

提取图像中物体的轮廓,通常用在图像识别中,比如图像像素级分割,应用面比较广。import cv2 import numpy as np from skimage.measure import fi...