0
点赞
收藏
分享

微信扫一扫

python读取图像列表来检查图像数据是否存在错误

import os
import cv2
import glob
import pathlib
import random
import numpy as np

from os import listdir, getcwd

from os.path import join

# 通过读取图像文件列表来检查图片数据是否正确

# 图片路径
data_path = r'D:\datasets\gen_number_str\train_enhance_resize'

txt_path = r'D:\datasets\gen_number_str\train.txt'
# 写入到文件
trainfile = r'D:\datasets\gen_number_str\err_list.txt'

train_file = open(trainfile, 'a', encoding='utf-8-sig')  # 带BOM的UTF-8格式

with open(txt_path, "r", encoding='utf8') as f:
    for line in f.readlines():
        line = line.strip('\n')  # 去掉列表中每一行元素的换行符
        lineData = line.split('\t')
        image = lineData[0]
        img = pathlib.Path(image)
        imagename = str(img.stem)
        imagesuffix = str(img.suffix)
        imgnamewithsuffix = imagename + imagesuffix

        images_file = data_path + '/' + imgnamewithsuffix
        img_data = cv2.imread(images_file, cv2.IMREAD_UNCHANGED)
        if img_data is None:
            print(img)
            train_file.write(images_file + '\n')
            continue

train_file.close()

举报

相关推荐

0 条评论