漫画图片切割

import cv2
import os
import numpy as np


def imgchuli(file, filetype, num):
    data = np.fromfile(file, dtype=np.uint8)  # 先用numpy把图片文件存入内存:data,把图片数据看做是纯字节数据
    img = cv2.imdecode(data, cv2.IMREAD_COLOR)  # 从内存数据读入图片

    h = int(img.shape[0])
    w = int(img.shape[1])

    img1 = img[0:h, int(w / 2):]
    img2 = img[0:h, 0:int(w / 2)]

    cv2.imwrite('%03d' % num + '_01' + filetype, img1)
    cv2.imwrite('%03d' % num + '_02' + filetype, img2)


def fenge(path_name):
    filetype_list = ['.jpg', '.png', '.JPG']

    if path_name == '':
        pass
    else:
        os.chdir(path_name)  # 转换路径


    path = os.getcwd()  # 对该路径下所有文件重命名排序

    num = 1

    file_list = os.listdir()  # 该文件夹下所有的文件(包括文件夹)

    for file in file_list:  # 遍历所有文件
        print(file)

        if os.path.isdir(file):  # 如果是文件夹则跳过
            continue

        olddir = os.path.join(path, file)  # 原来的文件路径

        filename = os.path.splitext(file)[0]  # 文件名
        filetype = os.path.splitext(file)[1]  # 文件扩展名

        if filetype in filetype_list:
            imgchuli(olddir, filetype, num)
            num += 1
            os.remove(olddir)


if __name__ == '__main__':
    path_name = 'D:\XXXXX\XXX\XXXX'
    fenge(path_name)



  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 表格图片的切割是指将一张包含多个表格的图片分割成单独的表格图片,为后续的表格识别和数据提取做准备。在Python中,可以使用Pillow库或OpenCV库对表格图片进行切割。 Pillow库的切割方法主要使用Image.crop()函数,该函数可以指定切割区域的左上角坐标以及宽度和高度。首先需要通过Pillow库打开表格图片,然后根据表格的位置和大小使用Image.crop()函数进行切割,最后保存单独的表格图片。 OpenCV库的切割方法主要使用cv2.findContours()和cv2.boundingRect()函数,该函数可以找到表格图片中的所有轮廓并确定每个轮廓的边界框。首先需要使用OpenCV库读取表格图片并进行灰度化和二值化处理,然后使用cv2.findContours()函数找到表格的轮廓,再使用cv2.boundingRect()函数确定每个轮廓的边界框,最后将边界框作为切割区域,使用Python切割方法进行切割并保存单独的表格图片。 在表格图片切割中,需要注意表格的旋转和倾斜对切割效果的影响。可以使用OpenCV库的旋转函数对图片进行旋转,使表格水平,并根据表格的倾斜角度进行角度矫正。除此之外,还可以通过深度学习的方法进行表格图片切割,例如利用卷积神经网络对表格进行分割。 ### 回答2: 表格图片切割是一项非常常见的任务。它可以将一张图片中的表格切割成多个表格,便于后续的处理和分析。在 Python 中,我们可以使用许多开源的库来进行表格图片切割。 首先,我们可以使用 OpenCV 库来读取和处理图片。例如,我们可以使用 imread() 函数读取图片,imwrite() 函数保存图片。然后,我们可以使用 findContours() 函数来查找所有的轮廓,使用 drawContours() 函数来绘制轮廓。在绘制出所有的轮廓后,我们可以根据轮廓的坐标信息来将图片进行切割。 另外,我们也可以使用 pytesseract 库来进行表格图片切割。这个库是一个 OCR (Optical Character Recognition,光学字符识别)引擎,可以将图片中的文本转换成可处理的文本。我们可以先使用 pytesseract 库将图片中的文字提取出来,然后再根据文字所在的位置来将图片进行切割。 当然,表格图片切割涉及到的技术不仅仅是上述的两个库。还需要了解图像预处理、轮廓的处理和筛选、图像分割等技术。需要根据不同的场景和需求选择不同的方法来进行处理。 总之,在 Python 中进行表格图片切割并不困难,只需要掌握一些基本的技术和方法,就可以轻松地实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值