python challenge 7

 1 #-*- coding:utf8-*-
2 import time
3 import Image
4 start = time.time()
5 #先将图片 oxygen.png 下载
6 import re, Image
7
8 i = Image.open("oxygen.png") # http://www.pythonchallenge.com/pc/def/oxygen.png
9 row = [i.getpixel((x, 45)) for x in range(0, i.size[0], 7)]
10 print row
11 ords = [r for r, g, b, a in row if r == g == b]
12 print ords
13 print "".join(map(chr, map(int, re.findall("\d+", "".join(map(chr, ords))))))
14 #integrity
15 #if __name__ == '__main__':
16
17 # img = Image.open('oxygen.png')
18 #
19 # #left,top,right,bottom
20 # box = (0, 43, 608, 52)
21 #
22 # belt = img.crop(box)
23 #
24 # #get a sequence object containing pixel values
25 # pixels = belt.getdata()
26 #
27 # print('mode: %s' % img.mode)
28 # print('amount of pixel: %d' % len(pixels))
29 # print(pixels[0])
30 #
31 # #convert mode RGBA to mode L
32 # lBelt = belt.convert('L')
33
34 # #get a sequence object containing pixel values
35 # lPixels = lBelt.getdata()
36 #
37 # #黑白条中的像素点有规律:每一行的像素点都是一样的,并且一行中也有相同的像素。
38 # #但有一点不好处理的是:字母间可以通过能否组成单词来判断是否有重复值,但数字
39 # #就不能通过这种方法来判断了
40 # str = []
41 #
42 # #step 7是通过试验出来的
43 # for i in range(0, 608, 7):
44 # str.append(chr(lPixels[i]))
45 # x = lPixels[i]
46 #
47 # print(''.join(str))
48
49
50 print "耗时:"+str(time.time() - start)

转载于:https://www.cnblogs.com/lcyang/archive/2012/02/10/python_challenge_7.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值