9 "from PIL import Image\n",
19 "im = Image.open(\"Aquilae-Clue-6.jpg\")"
30 "('JPEG', 'RGB', (2580, 564))"
35 "output_type": "execute_result"
39 "im.format, im.mode, im.size"
48 "columns, rows = im.size"
73 "output_type": "execute_result"
82 "execution_count": 17,
90 "[(252, 120, 116),\n",
96 " (255, 229, 229),\n",
97 " (255, 253, 253),\n",
98 " (255, 254, 255),\n",
99 " (255, 249, 251),\n",
100 " (255, 222, 217),\n",
106 " (250, 192, 190),\n",
107 " (255, 251, 250),\n",
108 " (255, 254, 255),\n",
109 " (255, 250, 251),\n",
110 " (255, 245, 243),\n",
111 " (215, 140, 137),\n",
117 " (255, 224, 230),\n",
118 " (255, 250, 253),\n",
119 " (254, 255, 255),\n",
120 " (255, 252, 249),\n",
121 " (255, 230, 228),\n",
127 " (255, 181, 180),\n",
128 " (255, 244, 245),\n",
129 " (255, 254, 255),\n",
130 " (255, 254, 255),\n",
131 " (255, 244, 245),\n",
132 " (255, 181, 180),\n",
138 " (255, 231, 230),\n",
142 "execution_count": 17,
144 "output_type": "execute_result"
148 "[px[2, c] for c in range(50)]"
153 "execution_count": 37,
161 "[(255, 255, 250),\n",
162 " (255, 254, 250),\n",
163 " (253, 253, 253),\n",
164 " (255, 255, 255),\n",
165 " (250, 250, 252),\n",
166 " (255, 255, 255),\n",
167 " (254, 255, 255),\n",
168 " (252, 252, 250),\n",
169 " (253, 253, 251),\n",
170 " (255, 255, 253),\n",
171 " (255, 255, 255),\n",
172 " (253, 253, 253),\n",
173 " (255, 253, 254),\n",
174 " (255, 254, 255),\n",
175 " (255, 255, 253),\n",
176 " (253, 253, 251),\n",
177 " (255, 255, 255),\n",
178 " (254, 255, 255),\n",
179 " (252, 255, 255),\n",
180 " (252, 255, 253),\n",
181 " (252, 255, 251),\n",
182 " (252, 255, 253),\n",
183 " (252, 255, 255),\n",
184 " (254, 255, 255),\n",
185 " (254, 255, 255),\n",
186 " (253, 255, 254),\n",
187 " (253, 255, 252),\n",
188 " (254, 255, 251),\n",
189 " (198, 200, 197),\n",
202 " (241, 239, 240),\n",
203 " (255, 254, 255),\n",
204 " (255, 254, 255),\n",
205 " (254, 254, 255),\n",
206 " (254, 255, 255),\n",
207 " (252, 255, 253),\n",
208 " (252, 255, 253),\n",
209 " (254, 255, 255),\n",
213 "execution_count": 37,
215 "output_type": "execute_result"
219 "[px[34, c] for c in range(50)]"
224 "execution_count": 34,
235 " (255, 210, 214),\n",
236 " (255, 250, 253),\n",
237 " (255, 250, 250),\n",
238 " (255, 255, 255),\n",
239 " (254, 255, 255),\n",
240 " (254, 255, 255),\n",
241 " (254, 255, 255),\n",
242 " (255, 245, 240),\n",
243 " (255, 178, 174),\n",
247 " (255, 185, 186),\n",
248 " (255, 249, 250),\n",
249 " (255, 249, 255),\n",
250 " (255, 253, 255),\n",
251 " (255, 254, 249),\n",
252 " (255, 255, 248),\n",
253 " (255, 255, 255),\n",
254 " (255, 245, 247),\n",
255 " (255, 205, 209),\n",
259 " (225, 134, 131),\n",
260 " (255, 239, 237),\n",
261 " (255, 250, 250),\n",
262 " (255, 254, 253),\n",
263 " (255, 255, 250),\n",
264 " (255, 255, 250),\n",
265 " (252, 253, 255),\n",
266 " (255, 249, 251),\n",
267 " (255, 225, 226),\n",
272 " (255, 238, 236),\n",
273 " (255, 244, 244),\n",
274 " (255, 254, 251),\n",
275 " (255, 253, 250),\n",
276 " (255, 254, 253),\n",
277 " (254, 253, 255),\n",
278 " (255, 249, 253),\n",
279 " (255, 244, 241),\n",
280 " (221, 132, 126),\n",
284 "execution_count": 34,
286 "output_type": "execute_result"
290 "[px[r + 25, 23] for r in range(50)]"
295 "execution_count": 39,
300 "for r in range(rows):\n",
301 " for c in range(columns):\n",
303 " if rgb[0] > 100 and rgb[1] < 100 and rgb[2] < 100:\n",
304 " is_red[r, c] = True\n",
306 " is_red[r, c] = False"
311 "execution_count": 42,
316 "output_type": "stream",
318 "....................................................................................................\n",
319 "###.........####.........###.........###.........###.........####.........###.........###.........##\n",
320 "###.........####.........###.........###.........###.........####.........###.........###.........##\n",
321 "###.........####.........###.........###.........###.........####.........###.........###.........##\n",
322 "###.........####.........###.........###.........###.........####.........###.........###.........##\n",
323 "###..........##..........##..........###..........##..........##..........##..........###..........#\n",
324 "....................................................................................................\n",
325 "....................................................................................................\n",
326 "....................................................................................................\n",
327 "....................................................................................................\n",
328 "....................................................................................................\n",
329 "###..........##..........###.........###.........###..........##..........###.........###.........##\n",
330 "###.........####.........###.........###.........###.........####.........###.........###.........##\n",
331 "###.........####.........###.........###.........###.........####.........###.........###.........##\n",
332 "###.........####.........###.........###.........###.........####.........###.........###.........##\n",
333 "###.........####.........###.........###.........###.........####.........###.........###.........##\n",
334 "....................................................................................................\n",
335 "....................................................................................................\n",
336 "....................................................................................................\n",
337 "....................................................................................................\n",
338 "....................................................................................................\n",
339 "....................................................................................................\n",
340 "###.........####.........###.........###.........###.........####.........###.........###.........##\n",
341 "###.........####.........###.........###.........###.........####.........###.........###.........##\n",
342 "###.........####.........###.........###.........###.........####.........###.........###.........##\n",
343 "###.........####.........###.........###.........###.........####.........###.........###.........##\n",
344 "###..........##..........###.........###.........###..........##..........###.........###.........##\n",
345 "....................................................................................................\n",
346 "....................................................................................................\n",
347 "....................................................................................................\n",
348 "....................................................................................................\n",
349 "....................................................................................................\n",
350 "###.........####........####.........###.........###.........####.........###.........###.........##\n",
351 "###.........####........####........####.........####........####........####.........####........##\n",
352 "###.........####........####........####.........####........####........####.........####........##\n",
353 "###.........####........####........####.........####........####........####.........###.........##\n",
354 "###.........####........####.........###.........###.........####.........###.........###.........##\n",
355 ".............##...........#...........#...........#....................................#...........#\n",
356 "....................................................................................................\n",
357 "....................................................................................................\n"
362 "for r in range(40):\n",
363 " line = ''.join(\"#\" if is_red[r, c] else \".\" for c in range(100))\n",
370 "execution_count": 52,
379 "execution_count": 52,
381 "output_type": "execute_result"
385 "len([k for k, g in itertools.groupby(is_red[2, c] for c in range(columns)) if k])"
390 "execution_count": 53,
399 "execution_count": 53,
401 "output_type": "execute_result"
405 "len([k for k, g in itertools.groupby(is_red[2, r] for r in range(rows)) if k])"
410 "execution_count": 54,
419 "execution_count": 54,
421 "output_type": "execute_result"
430 "execution_count": null,
438 "display_name": "Python 3",
439 "language": "python",
447 "file_extension": ".py",
448 "mimetype": "text/x-python",
450 "nbconvert_exporter": "python",
451 "pygments_lexer": "ipython3",