LPX55 commited on
Commit
97ac331
·
verified ·
1 Parent(s): 9261c8f

Update forensics/ela_hybrid.py

Browse files
Files changed (1) hide show
  1. forensics/ela_hybrid.py +20 -1
forensics/ela_hybrid.py CHANGED
@@ -77,4 +77,23 @@ def generate_hybrid_ela_func(img_input):
77
  # Generate ELA
78
  hybrid_array = generate_ela_hybrid(img_input, quality=75, scale_factor=100)
79
  visualizations = visualize_hybrid(hybrid_array)
80
- return list(visualizations) # Returns [RGB PIL Image, ELA PIL Image]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  # Generate ELA
78
  hybrid_array = generate_ela_hybrid(img_input, quality=75, scale_factor=100)
79
  visualizations = visualize_hybrid(hybrid_array)
80
+ return list(visualizations) # Returns [RGB PIL Image, ELA PIL Image]
81
+
82
+
83
+ def generate_concatenated_hybrid(img_array):
84
+ """
85
+ Concatenate original RGB and ELA map into a single image.
86
+ Returns a single PIL Image (side-by-side).
87
+ """
88
+ # Extract RGB and ELA channels
89
+ original_rgb = Image.fromarray((img_array[:, :, :3] * 255).astype(np.uint8)) # 3 channels
90
+ ela_map = Image.fromarray((img_array[:, :, 3:] * 255).astype(np.uint8)) # 3 channels
91
+
92
+ # Resize to match height
93
+ ela_map = ela_map.resize(original_rgb.size)
94
+
95
+ # Concatenate and return as a single PIL Image
96
+ combined = Image.new("RGB", (ela_map.width + original_rgb.width, original_rgb.height)) # Single row
97
+ combined.paste(original_rgb, (0, 0))
98
+ combined.paste(ela_map, (original_rgb.width, 0))
99
+ return combined