PythonChallenge 挑战之路 Level-28

这一关还是图像处理。仔细看图片可以发现一些色条明暗相间。提示文字说RING-RING-RING,say it out loud,那么将图片的三个通道分离,发现条纹来自于GREEN通道。

从网页的标题many pairs ring-ring来看,应该是将G通道的像素信息两两成对。尝试用这些坐标画图:


并不是什么文字、图案,但是那两条平行线很明显,说明这些坐标点存在规律。将坐标相减,那两条平行线的结果为42和-42,而其他的坐标点的数值(绝对值)就可以组成文本:

whodunnit().split()[0] ?

python的发明人为Guido van Rossum,所以答案就是guido啦。

import Image
img = Image.open('bell.png')
img.load()
r,g,b = img.split()

gdata = list(g.getdata())
newlist = [(gdata[i]-gdata[i+1]) for i in range(0,len(gdata),2)]
s = ''
for i in newlist:
    if i != -42 and i!=42:
        s+=chr(abs(i))
print s


====================分割线=====================

在用Image模块进行三通道分离时,存在一个小小的bug,需要先调用load(),否则就会显示:

AttributeError: 'NoneType' object has no attribute 'bands'



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值