import os import sys from pathlib import Path from tqdm import tqdm from PIL import Image, ExifTags def analyze_metadata(folder_path, label): folder = Path(folder_path) if not folder.exists(): return None images = list(folder.glob("*.jpg")) + list(folder.glob("*.png")) + list(folder.glob("*.jpeg")) if not images: return None print(f"\nAnalyzing Metadata for '{label}' ({folder})...") has_exif_count = 0 camera_model_count = 0 software_sig_count = 0 # Check first 50 sample = images[:50] for img_path in tqdm(sample): try: img = Image.open(img_path) exif = img.getexif() if exif: has_exif_count += 1 # Check for specific tags # 271: Make, 272: Model, 305: Software make = exif.get(271) model = exif.get(272) software = exif.get(305) if make or model: camera_model_count += 1 if software: software_sig_count += 1 # print(f" Software: {software} in {img_path.name}") except Exception as e: pass return { 'label': label, 'has_exif_percent': (has_exif_count/len(sample))*100, 'camera_model_percent': (camera_model_count/len(sample))*100 } def main(): folder_a = "/media/juanquy/Dev/Users photos/" folder_b = "/media/juanquy/Dev/a small sample/" res_a = analyze_metadata(folder_a, "Folder A") res_b = analyze_metadata(folder_b, "Folder B") print("\nMetaData Analysis Report:") if res_a: print(f"{res_a['label']}: Exif={res_a['has_exif_percent']}%, CameraModel={res_a['camera_model_percent']}%") if res_b: print(f"{res_b['label']}: Exif={res_b['has_exif_percent']}%, CameraModel={res_b['camera_model_percent']}%") if __name__ == "__main__": main()