Spaces:
Runtime error
Runtime error
Commit ·
876fe8c
1
Parent(s): 6ea830d
fix
Browse files
app.py
CHANGED
|
@@ -33,19 +33,18 @@ def extract_lsb(stego_pixels, edge_mask, secret_bits_length, x=2, y=1):
|
|
| 33 |
for j in range(width):
|
| 34 |
for c in range(channels):
|
| 35 |
if bit_index >= secret_bits_length:
|
| 36 |
-
|
| 37 |
n = x if edge_mask[i, j] else y
|
|
|
|
|
|
|
| 38 |
value = stego_pixels[i, j, c] & ((1 << n) - 1)
|
| 39 |
for b in range(n):
|
| 40 |
extracted_bits.append((value >> b) & 1)
|
| 41 |
bit_index += n
|
| 42 |
-
if bit_index >= secret_bits_length:
|
| 43 |
-
break
|
| 44 |
-
if bit_index >= secret_bits_length:
|
| 45 |
-
break
|
| 46 |
|
| 47 |
return np.array(extracted_bits[:secret_bits_length], dtype=np.uint8)
|
| 48 |
|
|
|
|
| 49 |
# Convert bits to image
|
| 50 |
def from_bit_array(bit_array, shape):
|
| 51 |
expected_bits = np.prod(shape) * 8
|
|
|
|
| 33 |
for j in range(width):
|
| 34 |
for c in range(channels):
|
| 35 |
if bit_index >= secret_bits_length:
|
| 36 |
+
return np.array(extracted_bits, dtype=np.uint8)
|
| 37 |
n = x if edge_mask[i, j] else y
|
| 38 |
+
if n <= 0:
|
| 39 |
+
continue
|
| 40 |
value = stego_pixels[i, j, c] & ((1 << n) - 1)
|
| 41 |
for b in range(n):
|
| 42 |
extracted_bits.append((value >> b) & 1)
|
| 43 |
bit_index += n
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
|
| 45 |
return np.array(extracted_bits[:secret_bits_length], dtype=np.uint8)
|
| 46 |
|
| 47 |
+
|
| 48 |
# Convert bits to image
|
| 49 |
def from_bit_array(bit_array, shape):
|
| 50 |
expected_bits = np.prod(shape) * 8
|