python批量检查图片尺寸是否正确(含多个文件夹,训练集和测试集)

前面博客介绍了处理数据集的所有操作,接下来看看是不是都修改正确了.
能用python解决的肯定不能手动,(解放鼠标~

打印出以下效果,清晰知道哪里存在错误-_-
在这里插入图片描述
那直接上代码,应该不难理解
首先看看自己的图片尺寸大小

import cv2
#file就是自己图片的路径
image = cv2.imread(file,cv2.IMREAD_COLOR)
print(image.shape)
#我这里打印出来的是(384,512,3)

然后是多个文件夹下的展示图
第一层
在这里插入图片描述
第二层
在这里插入图片描述
第三层
在这里插入图片描述
代码如下:

# -*- coding: utf-8 -*-
"""
Created on Tue May 26 08:50:51 2020

@author: 吴
"""


# -*- coding: utf-8 -*-
import cv2
import matplotlib.pyplot as plt
import os
import re
import sys
from PIL import Image
import string
import numpy as np



def checkImage(file,NoResize,NoFormat):
    
    image = cv2.imread(file,cv2.IMREAD_COLOR)
    
    if image is None:
        NoResize += [str(file)]
    elif image.shape != (384,512,3):
        NoFormat += [str(file)]
        
def checkAll(root):
    
    #待修改文件夹
    fileList = os.listdir(root)
    #输出文件夹中包含的文件        
    # print("修改前:"+str(fileList))
    #得到进程当前工作目录
    currentpath = os.getcwd()   
    #将当前工作目录修改为待修改文件夹的位置    
    os.chdir(root)
    
    NoResize = []  #记录没被修改的图片
    NoFormat = []  #记录格式不是(512,384)的图片
    
    for file in fileList:       #遍历文件夹中所有文件
        file = str(file)
        checkImage(file,NoResize,NoFormat)
    print("---------------------------------------------------")
    
    os.chdir(currentpath)       #改回程序运行前的工作目录
    
    sys.stdin.flush()       #刷新
    if len(NoResize) != 0:
        print('没被修改的图片: ',root , '/t' ,NoResize)
    
    if len(NoFormat) != 0:
        print('格式不对的图片: ',root , '/t' ,NoFormat)
    
#只有三层文件夹用这个+++++++++++++++++++++++++++++++++
if __name__=="__main__":
    category = ['可回收垃圾', '有害垃圾', '厨余垃圾', '其他垃圾']
    for j in range(4):
        PATH = r'D:\百步梯\图像识别\garbageClassifier\IMAGEDATA\test' + '/'+  category[j]
        #子文件夹
        for childPATH in os.listdir(PATH):
            #子文件夹路径
            childPATH = PATH + '/'+ str(childPATH)
            print(childPATH)
            checkAll(childPATH)
        print('------修改图片大小全部完成-_-')
        
    
#只有两层文件夹用这个+++++++++++++++++++++++++++++++++
# if __name__=="__main__":

#     PATH = 'resizeImage'
#     #子文件夹
#     for childPATH in os.listdir(PATH):
#         #子文件夹路径
#         childPATH = PATH + '/'+ str(childPATH)
#         print(childPATH)
#         checkAll(childPATH)
#     print('------检查图片大小全部完成-_-')

安逸~

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值