吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4112|回复: 2
收起左侧

[Python 转载] 批量裁剪长图——以“悦读”pdf"的长截图为例

[复制链接]
youpc529 发表于 2020-2-28 21:13

代码背景:请看帖子——悦读”PDF的另类下载方式https://www.52pojie.cn/forum.php?mod=viewthread&tid=1117859&extra=page%3D1%26filter%3Dtypeid%26typeid%3D202
分析:裁剪的长图在每个书页之间都有一条分隔符,分隔符的颜色是固定,因此遍历一列上(代码取第10列)的所有像素点,找到分隔符的颜色(RGB中的B值为186)对应的坐标,然后根据坐标实现自动裁剪。
具体代码如下:

import os
import cv2

def cut(start_y, end_y, width, number):
    save_path = "./save/" + image[0] + str(number) + ".png"
    page = img[start_y:end_y, 0:width]
    cv2.imwrite(save_path, page)

for image in os.listdir("./Book"):
    img_path = "./Book/" + image
    img = cv2.imread(img_path)
    height = img.shape[0]
    width = img.shape[1]
    point = [point for point in range(0, height) if img.item(point, 10, 0) == 186]
    page_number = len(point) // 2 + 1
    cut(0, point[0], width, 1)
    for p in range(2, page_number):
        cut(point[p * 2 - 3], point[p * 2 - 2], width, p)
    cut(point[-1], height, width, page_number)

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

lj800827 发表于 2020-2-28 23:51
好的,我还要请先去学一下ph
lj800827 发表于 2020-5-24 14:40
你好,请教个长图裁剪的问题,
像这个图片(下载链接:https://c-t.work/s/7453756905444f
代码要咋写啊?
谢啦
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-17 06:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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