|
@@ -78,7 +78,17 @@ def extract_image(path):
|
|
for j in range(cols):
|
|
for j in range(cols):
|
|
r, g, b = im[i, j]
|
|
r, g, b = im[i, j]
|
|
|
|
|
|
- data.append(((r << 16) + (g << 8) + b) & 255)
|
|
|
|
|
|
+ byte = 0
|
|
|
|
+ byte |= 1 << (r & 1)
|
|
|
|
+ byte |= 1 << ((r >> 1) & 1)
|
|
|
|
+ byte |= 1 << ((g >> 1) & 1)
|
|
|
|
+ byte |= 1 << ((g >> 1) & 1)
|
|
|
|
+ byte |= 1 << ((b >> 1) & 1)
|
|
|
|
+ byte |= 1 << ((b >> 1) & 1)
|
|
|
|
+ byte |= 1 << ((r >> 2) & 1)
|
|
|
|
+ byte |= 1 << ((r >> 2) & 1)
|
|
|
|
+
|
|
|
|
+ data.append(byte & 255)
|
|
|
|
|
|
return bytes(data)
|
|
return bytes(data)
|
|
|
|
|
|
@@ -122,7 +132,7 @@ def extract_lsbs(data):
|
|
tmp_byte = 0
|
|
tmp_byte = 0
|
|
for byte in chunk:
|
|
for byte in chunk:
|
|
for n in range(4):
|
|
for n in range(4):
|
|
- tmp_byte = (tmp_byte << 1) | ((byte >> n) & 1)
|
|
|
|
|
|
+ tmp_byte |= 1 << ((byte >> n) & 1)
|
|
|
|
|
|
buffer.append(tmp_byte & 255)
|
|
buffer.append(tmp_byte & 255)
|
|
|
|
|