File size: 3,293 Bytes
1633fcc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# import os
# from PIL import Image

# def check_image_dimensions(folder_path, min_size=512):
#     """
#     检查指定文件夹及其子文件夹下的所有图像文件的宽度和高度是否小于指定的最小尺寸。
    
#     :param folder_path: 图像文件所在的文件夹路径
#     :param min_size: 最小尺寸(默认512)
#     :return: 返回一个列表,包含所有宽度或高度小于min_size的图像文件路径
#     """
#     # 支持的图像扩展名
#     supported_extensions = ('.jpg', '.jpeg', '.png', '.bmp', '.tiff')
#     small_images = []

#     # 使用 os.walk 递归遍历文件夹及其子文件夹
#     for root, _, files in os.walk(folder_path):
#         for filename in files:
#             if filename.lower().endswith(supported_extensions):
#                 img_path = os.path.join(root, filename)
#                 with Image.open(img_path) as img:
#                     width, height = img.size
#                     if width < min_size or height < min_size:
#                         small_images.append((img_path, width, height))

#     return small_images

# # 使用示例
# folder_path = '/home/t2vg-a100-G4-1/projects/dataset/LSDIR_raw/images/train/LSDIR/'  # 替换为你实际的图像文件夹路径
# small_images = check_image_dimensions(folder_path)

# if small_images:
#     print("以下图像的宽度或高度小于512像素:")
#     for img_info in small_images:
#         print(f"文件路径: {img_info[0]}, 宽度: {img_info[1]}, 高度: {img_info[2]}")
# else:
#     print("所有图像的宽度和高度都不小于512像素。")

import os
from PIL import Image

def check_large_image_dimensions(folder_path, min_size=1280):
    """
    检查指定文件夹及其子文件夹下的所有图像文件的最小边长是否大于等于指定的最小尺寸。
    
    :param folder_path: 图像文件所在的文件夹路径
    :param min_size: 最小尺寸(默认1024)
    :return: 返回一个列表,包含所有最小边长大于等于min_size的图像文件路径,以及符合条件的图像数量
    """
    # 支持的图像扩展名
    supported_extensions = ('.jpg', '.jpeg', '.png', '.bmp', '.tiff')
    large_images = []

    # 使用 os.walk 递归遍历文件夹及其子文件夹
    for root, _, files in os.walk(folder_path):
        for filename in files:
            if filename.lower().endswith(supported_extensions):
                img_path = os.path.join(root, filename)
                with Image.open(img_path) as img:
                    width, height = img.size
                    min_dim = min(width, height)
                    if min_dim >= min_size:
                        large_images.append((img_path, width, height))

    return large_images

# 使用示例
folder_path = '/home/t2vg-a100-G4-1/projects/dataset/LSDIR_raw/images/train/LSDIR/'  # 替换为你实际的图像文件夹路径
large_images = check_large_image_dimensions(folder_path)

if large_images:
    for img_info in large_images:
        print(f"文件路径: {img_info[0]}, 宽度: {img_info[1]}, 高度: {img_info[2]}")
    print(f"以下图像的最小边长大于等于1280像素(总计 {len(large_images)} 张):")
else:
    print("没有图像的最小边长大于等于1024像素。")