吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 680|回复: 4
收起左侧

[求助] 如何用python删除PPT页面的logo图

[复制链接]
Doublevv 发表于 2023-4-25 09:34
从宣**网下载的党课PPT,每页都带有logo图案,一个一个删太麻烦了,就想用python来处理。
搜索了网上的资料,有个思路:遍历页面上的shapes,发现尺寸符合的shape就使用shape.Delete()方法删除。
可是这样必须先确定每个PPT页面上logo图的height和width,不同PPT的logo尺寸还不一样,每次都要在python程序中调整。
还有一种是logo图在母版上,遍历shapes发现不了。
有没有更智能的方法,能自动判断删除呢?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

独孤的云 发表于 2023-4-26 16:58
换背景图呀  或修改母版logo图案
xiaoboy 发表于 2023-4-30 10:21
import cv2
from pptx import Presentation

# 加载logo图案和PPT文件
logo = cv2.imread('logo.png', cv2.IMREAD_GRAYSCALE)
ppt = Presentation('example.pptx')

# 遍历PPT中的每一页
for slide in ppt.slides:
    # 将当前页保存为图像文件
    slide.shapes[0].image.save('temp.png')

    # 加载当前页图像并进行模板匹配
    img = cv2.imread('temp.png', cv2.IMREAD_GRAYSCALE)
    result = cv2.matchTemplate(img, logo, cv2.TM_CCOEFF_NORMED)

    # 如果当前页中包含logo,则删除该页
    if (result >= 0.8).any():
        ppt.slides.remove(slide)

# 保存修改后的PPT文件
ppt.save('modified.pptx')
 楼主| Doublevv 发表于 2023-4-30 16:57
 楼主| Doublevv 发表于 2023-4-30 20:35
我现在用的是找height*10/width=3比例的图然后删除,可能会误删,用cv会更精准。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表