python:将图片切割成4份扩充数据集

Posted 告白少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python:将图片切割成4份扩充数据集相关的知识,希望对你有一定的参考价值。

有时候图像过大,或者是图像的数量不够,可以把原始图像切割成四份扩充数据集。

import cv2
import os

if __name__ == "__main__":
    #图像文件原始路径
    path = r"C:\\study_he\\exp_result\\high\\train\\high_image"  
    listdir = os.listdir(path)
    # 新建split文件夹用于保存
    newdir = os.path.join(path, 'split')
    if (os.path.exists(newdir) == False):
        os.mkdir(newdir)
    for i in listdir:
        if i.split('.')[1] == "png" or i.split('.')[1] == "JPG" or i.split('.')[1] == "jpg" :
            filepath = os.path.join(path, i)
            filename = i.split('.')[0]
            leftpath1 = os.path.join(newdir, filename) + "_left1.png"
            leftpath2 = os.path.join(newdir, filename) + "_left2.png"
            rightpath1 = os.path.join(newdir, filename) + "_right1.png"
            rightpath2 = os.path.join(newdir, filename) + "_right2.png"
            img = cv2.imread(filepath)
            [h, w] = img.shape[:2]
            print(filepath, (h, w))
            l1img = img[:int(h / 2), :int(w / 2), :]
            l2img=img[int(h /2+1):, :int(w / 2), :]
            r1img = img[:int(h / 2), int(w / 2 + 1):, :]
            r2img = img[int(h /2+1):, int(w / 2 + 1):, :]
            cv2.imwrite(leftpath1, l1img)
            cv2.imwrite(leftpath2, l2img)
            cv2.imwrite(rightpath1, r1img)
            cv2.imwrite(rightpath2, r2img)

以上是关于python:将图片切割成4份扩充数据集的主要内容,如果未能解决你的问题,请参考以下文章

[Python图像识别] 五十一.水书图像识别之利用数据增强扩充图像数据集

Python3 识别验证码(opencv-python)

使用Python将DOTA数据集的格式转换成VOC2007数据集的格式

使用Python将DOTA数据集的格式转换成VOC2007数据集的格式

使用Python将DOTA数据集的格式转换成VOC2007数据集的的格式

使用Python将NWPU VHR-10数据集的格式转换成VOC2007数据集的格式