Add some randomization to further obscure text

This commit is contained in:
PAlexanderFranklin 2024-08-01 21:04:31 -07:00
parent b2c112a728
commit 4a197cc248

View File

@ -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")