Add some randomization to further obscure text
This commit is contained in:
parent
b2c112a728
commit
4a197cc248
@ -19,6 +19,28 @@ def capture_screenshot():
|
|||||||
# Apply blur
|
# Apply blur
|
||||||
blurred_screenshot = screenshot.filter(ImageFilter.GaussianBlur(10))
|
blurred_screenshot = screenshot.filter(ImageFilter.GaussianBlur(10))
|
||||||
|
|
||||||
|
# Randomly turn 10% of the pixels black
|
||||||
|
pixels = blurred_screenshot.load()
|
||||||
|
width, height = blurred_screenshot.size
|
||||||
|
total_pixels = width * height
|
||||||
|
black_pixels_count = int(total_pixels * 0.1)
|
||||||
|
neighbor_copy_pixels_count = int(total_pixels * 0.01)
|
||||||
|
|
||||||
|
for _ in range(black_pixels_count):
|
||||||
|
x = random.randint(0, width - 1)
|
||||||
|
y = random.randint(0, height - 1)
|
||||||
|
pixels[x, y] = (0, 0, 0)
|
||||||
|
|
||||||
|
# Make 1% of the pixels copy themselves to their 8 neighbors
|
||||||
|
for _ in range(neighbor_copy_pixels_count):
|
||||||
|
x = random.randint(0, width - 1)
|
||||||
|
y = random.randint(0, height - 1)
|
||||||
|
original_color = pixels[x, y]
|
||||||
|
for dx in [-1, 0, 1]:
|
||||||
|
for dy in [-1, 0, 1]:
|
||||||
|
if 0 <= x + dx < width and 0 <= y + dy < height:
|
||||||
|
pixels[x + dx, y + dy] = original_color
|
||||||
|
|
||||||
# Compress and save
|
# Compress and save
|
||||||
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
||||||
filename = os.path.join(output_dir, f"screenshot_{timestamp}.jpeg")
|
filename = os.path.join(output_dir, f"screenshot_{timestamp}.jpeg")
|
||||||
|
Loading…
Reference in New Issue
Block a user