diff --git a/YOLO python/clean-predictions.py b/YOLO python/clean-predictions.py new file mode 100644 index 0000000..7d73098 --- /dev/null +++ b/YOLO python/clean-predictions.py @@ -0,0 +1,49 @@ +import os +import shutil +import sys + +def find_matching_images(text_folder, image_folder): + # Get list of text files in the text folder + text_files = [f for f in os.listdir(text_folder) if f.endswith('.txt')] + + for text_file in text_files: + # Extract the number X from the text file name + file_number = text_file.split('_')[1].split('.')[0] + + # Read the text file + with open(os.path.join(text_folder, text_file), 'r') as file: + lines = file.readlines() + + # Filter lines with heights less than 0.01 + filtered_lines = [] + for line in lines: + parts = line.strip().split(' ') + if len(parts) == 5 and float(parts[4]) >= 0.01: + filtered_lines.append(line) + + # Check if there are any rows left + if len(filtered_lines) == 0: + # Construct the image file name + image_file = file_number + '.jpg' + + # Check if the image file exists in the image folder + if image_file in os.listdir(image_folder): + # If the image exists, print a message and delete it + print(f"Deleting image and text file for {text_file}") + os.remove(os.path.join(image_folder, image_file)) + os.remove(os.path.join(text_folder, text_file)) + + else: + # Rewrite the text file with filtered lines + with open(os.path.join(text_folder, text_file), 'w') as file: + file.writelines(filtered_lines) + +if __name__ == "__main__": + if len(sys.argv) != 3: + print("Usage: python script_name.py text_folder image_folder") + sys.exit(1) + + text_folder = sys.argv[1] + image_folder = sys.argv[2] + + find_matching_images(text_folder, image_folder) \ No newline at end of file diff --git a/YOLO python/basic-tracking.py b/YOLO python/generate-predictions.py similarity index 100% rename from YOLO python/basic-tracking.py rename to YOLO python/generate-predictions.py