#!/usr/bin/env python # coding: utf-8 # In[1]: from PIL import Image import numpy as np import matplotlib.pyplot as plt get_ipython().run_line_magic('matplotlib', 'inline') # In[2]: im = Image.open('tomkooij.png') # In[3]: im.load() # In[4]: arr = np.asarray(im) arr # In[5]: plt.imshow(arr) # In[6]: y_size, x_size, _ = arr.shape x_size = 79 # In[7]: number_grid = np.zeros((y_size, x_size)) # In[8]: for y in range(y_size): for x in range(x_size): rgb = arr[y][x] number_grid[y][x] = sum(rgb) # In[9]: number_grid[number_grid <= 500] = 1 number_grid[number_grid > 500] = 8 number_grid # In[10]: plt.imshow(number_grid) # In[11]: number_grid.shape # In[12]: # shrink height: throw away every other line number_grid = np.delete(number_grid, np.s_[::2], axis=0) number_grid.shape # In[13]: def float_to_char(x): if x > 2.: return '1' return '8' # In[14]: prime_str = '' for line in number_grid: l = ''.join((float_to_char(x) for x in line)) print(l) prime_str += l # In[15]: p = int(prime_str) # In[16]: p > 1e100 # In[17]: p > 1e1000 # In[18]: p > 1e400 # In[19]: p > 1e300 # In[20]: p > 1e310 # In[ ]: