PythonChallenge Mission 11
2016-03-15 21:22
537 查看
进入第11关,看到一张模糊的图片
起初并不知道什么意思,打开源代码也没有什么发现,直到再次看看标题odd even->奇偶
猜测PythonChallenge是要我们把图片按奇偶行、奇偶列拆开为两幅图画,于是码代码如下:
from PIL import Image
im=Image.open("cave.jpg")
width=im.size[0]
height=im.size[1]
even=Image.new(im.mode, (width/2,height/2))
odd=Image.new(im.mode, (width/2,height/2))
for x in range(width):
for y in range(height):
pixel=im.getpixel((x,y))
if x%2^y%2:
odd.putpixel(((x-1)/2, y/2) if x%2 else (x/2, (y-1)/2) , pixel)
else:
even.putpixel((x/2, y/2), pixel)
even.save('cave_even.jpg')
odd.save('cave_odd.jpg')然后打开两幅图片,发现其中一幅和原图差不许多,另一幅是一张亮度非常低的图,上面写着evil四个字母。
把evil写入网址,进入下一关http://www.pythonchallenge.com/pc/return/evil.html
花絮:
对于even,old我猜了好多次,先是按行分奇偶,然后按列分奇偶,都fail了;直到最后按棋盘状分了奇偶才看出始末。。。
同时这也给我们提供了一种隐藏信息的方法,将一张暗图按像素拆分插入亮图,可以perfect隐藏信息yoooo!
起初并不知道什么意思,打开源代码也没有什么发现,直到再次看看标题odd even->奇偶
猜测PythonChallenge是要我们把图片按奇偶行、奇偶列拆开为两幅图画,于是码代码如下:
from PIL import Image
im=Image.open("cave.jpg")
width=im.size[0]
height=im.size[1]
even=Image.new(im.mode, (width/2,height/2))
odd=Image.new(im.mode, (width/2,height/2))
for x in range(width):
for y in range(height):
pixel=im.getpixel((x,y))
if x%2^y%2:
odd.putpixel(((x-1)/2, y/2) if x%2 else (x/2, (y-1)/2) , pixel)
else:
even.putpixel((x/2, y/2), pixel)
even.save('cave_even.jpg')
odd.save('cave_odd.jpg')然后打开两幅图片,发现其中一幅和原图差不许多,另一幅是一张亮度非常低的图,上面写着evil四个字母。
把evil写入网址,进入下一关http://www.pythonchallenge.com/pc/return/evil.html
花絮:
对于even,old我猜了好多次,先是按行分奇偶,然后按列分奇偶,都fail了;直到最后按棋盘状分了奇偶才看出始末。。。
同时这也给我们提供了一种隐藏信息的方法,将一张暗图按像素拆分插入亮图,可以perfect隐藏信息yoooo!
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法