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

liftword3个月前 (01-08)技术文章36

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

运营在仔细审查店铺后,提出了一个看似简单却极具挑战性的建议:将所有产品图片的左上角加上品牌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自动化办公:一分钟高效搞定Excel所有图片的导入导出

在日常办公中,我们经常需要在Excel表格中插入或导出图片,特别是在制作产品目录、报告或展示数据时。现在有这样一份任务,产品名录表里需要将每个产品的实拍图片插入到D列上,产品有上百个,传统方法需要将图...

使用 Python 玩转图片

我们有时候需要处理图片,对于一些不是非常复杂的图片处理,并非一定要使用 PS ,其实我们用 Python 代码也是可以实现滴~而且还挺方便,有些操作一两行代码就搞定了。有个 Python Image...