File size: 1,588 Bytes
3f3265f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import os
import shutil

# Define the paths
image_directory = './data/coco_det/images/semantics'  # The directory containing the images
txt_file_path = './list_union3.txt'       # The text file with indexes
new_directory = './data/coco_det/images/union3'      # The directory to copy matching images

# Create the new directory if it doesn't exist
if not os.path.exists(new_directory):
    os.makedirs(new_directory)

# Load the comma-separated indexes from the text file
with open(txt_file_path, 'r') as file:
    content = file.read().strip()  # Read the entire file content
    indexes = content.split(', ')   # Split by commas to get a list of indexes

# Iterate over the files in the image directory
for image_file in os.listdir(image_directory):
    if image_file.endswith(".jpg"):
        # Parse the appid and index from the image filename (example: 269170_1.jpg)
        image_appid, image_index = image_file.split("_")[0], image_file.split("_")[1].split(".")[0].zfill(3)
        
        # Combine appid and index to match the format in the text file (example: 269170001)
        image_key = f"{image_appid}{image_index}"
        
        # If the constructed key matches any entry in the text file, copy the image
        if image_key in indexes:
            source_path = os.path.join(image_directory, image_file)
            destination_path = os.path.join(new_directory, image_file)
            
            # Copy the image
            shutil.copy(source_path, destination_path)
            print(f"Copied: {image_file}")

print("All matching images have been copied.")