File size: 2,765 Bytes
c1596ac
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
import os
import random
import shutil

# ================================
# 0. ์„ค์ •
# ================================
TARGET_COUNT = 60
MIN_RES = 128  # ํ•ด์ƒ๋„ 128
PREFIX = "kg"
BASE_DIR = "./data/raw"

# ================================
# 1. ๊ฒฝ๋กœ
# ================================
DATA_DIR = r"C:\Users\qud46\Desktop\raw_kg"

# ================================
# 2. ํด๋ž˜์Šค ๋ชฉ๋ก
# ================================
CLASS_LIST = [
    # ์Œ์‹ ๋ฐ ์‹์žฌ๋ฃŒ
    "pizza","hamburger","sushi","pasta","salad",
    "steak","cup_cake","sandwich","waffle","dumpling",

    # ๋™๋ฌผ
    "golden-retriever","bulldog","siamese-cat",
    "persian-cat","elephant","sheep","horse",
    "penguin","butterfly","squirrel",

    # ๊ฝƒ
    "rose","sunflower","daisy","tulip","dandelion",
    "lily","lavender","orchid","iris","marigold","aster",

    # ๊ณผ์ผ
    "apple","banana","strawberry","orange",
    "carrot","tomato","cucumber",

    # ํƒˆ๊ฒƒ
    "car","bicycle","motorcycle","airplane","bus",

    # ํŒจ์…˜ ๋ฐ ์žกํ™”
    "t-shirt","sneakers","earrings","glasses",
    "pants","bracelet","necklace"
]

print("ํด๋ž˜์Šค๋ณ„ ์ด๋ฏธ์ง€ 60์žฅ ๋งž์ถ”๊ธฐ ์‹œ์ž‘\n")

# ================================
# 3. ๋ฉ”์ธ ๋กœ์ง
# ================================
for cls in CLASS_LIST:

    cls_path = os.path.join(DATA_DIR, cls)

    if not os.path.exists(cls_path):
        print(f"{cls}: ํด๋” ์—†์Œ (skip)")
        continue

    # ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋ชฉ๋ก
    images = [
        f for f in os.listdir(cls_path)
        if os.path.isfile(os.path.join(cls_path, f))
    ]

    current_count = len(images)

    print(
        f"{cls}: ํ˜„์žฌ {current_count}์žฅ "
        f"โ†’ ๋ชฉํ‘œ {TARGET_COUNT}์žฅ"
    )

    # ================================
    # 1) 60์žฅ ์ดˆ๊ณผ โ†’ ๋žœ๋ค ์‚ญ์ œ
    # ================================
    if current_count > TARGET_COUNT:

        delete_count = current_count - TARGET_COUNT

        to_delete = random.sample(
            images,
            delete_count
        )

        for file in to_delete:

            file_path = os.path.join(cls_path, file)

            try:
                os.remove(file_path)

            except:
                continue

        print(f"   โ†’ {delete_count}์žฅ ์‚ญ์ œ ์™„๋ฃŒ")

    # ================================
    # 2) 60์žฅ ๋ฏธ๋งŒ โ†’ ๋ถ€์กฑ ๊ฐœ์ˆ˜ ์ถœ๋ ฅ
    # ================================
    elif current_count < TARGET_COUNT:

        need_count = TARGET_COUNT - current_count

        print(
            f"   โ†’ {need_count}์žฅ ๋ถ€์กฑ "
            f"(์ถ”๊ฐ€ ์ˆ˜์ง‘ ํ•„์š”)"
        )

    # ================================
    # 3) ์ •ํ™•ํžˆ 60์žฅ
    # ================================
    else:
        print("   โ†’ ์ด๋ฏธ 60์žฅ ์™„๋ฃŒ")

print("\n์ „์ฒด ์ •๋ฆฌ ์™„๋ฃŒ!")