aegishield commited on
Commit
876fe8c
·
1 Parent(s): 6ea830d
Files changed (1) hide show
  1. app.py +4 -5
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
- break
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