-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzoom_in.py
58 lines (48 loc) · 1.9 KB
/
zoom_in.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
from PIL import Image
########################
def zoom_in2(a_image):
xy = a_image.size
w = xy[0]
h = xy[1]
new_image = Image.new("RGB",(2*w,2*h),"black")
pixels_new = new_image.load()
pixels_old = a_image.load()
for i in xrange(0,(2*w)-1):
for j in xrange(0,(2*h)-1):
if (i%2==0 and j%2==0):
rgb = a_image.getpixel((i/2,j/2))
pixels_new[i,j] = (rgb[0],rgb[1],rgb[2])
if (i==2*w - 1 and j==2*h - 1):
print i,j
for i in xrange(0,(2*w)-1):
for j in xrange(0,(2*h)-1):
if(i%2!=0 and j%2==0):
rgb_A = a_image.getpixel((i-1,j))
rgb_B = a_image.getpixel((i+1,j))
red = (rgb_A[0]+rgb_B[0])/2
green = (rgb_A[1]+rgb_B[1])/2
blue = (rgb_A[2]+rgb_B[2])/2
pixels_new[i,j] = (red,green,blue)
if(i%2==0 and j%2!=0):
rgb_A = a_image.getpixel((i,j-1))
rgb_B = a_image.getpixel((i,j+1)) # the error is here in this if
red = (rgb_A[0]+rgb_B[0])/2
green = (rgb_A[1]+rgb_B[1])/2
blue = (rgb_A[2]+rgb_B[2])/2
pixels_new[i,j] = (red,green,blue)
for i in xrange(0,(2*w)-1):
for j in xrange(0,(2*h)-1):
if(i%2!=0 and j%2!=0):
rgb_A = a_image.getpixel((i-1,j))
rgb_B = a_image.getpixel((i+1,j))
rgb_C = a_image.getpixel((i,j-1))
rgb_D = a_image.getpixel((i,j+1))
red = (rgb_A[0]+rgb_B[0]+rgb_C[0]+rgb_D[0])/4
green = (rgb_A[1]+rgb_B[1]+rgb_C[1]+rgb_D[1])/4
blue = (rgb_A[2]+rgb_B[2]+rgb_C[2]+rgb_D[2])/4
pixels_new[i,j] = (red,green,blue)
return new_image
########################
im = Image.open("young-stalin.jpeg")
nw_i=zoom_in2(im)
nw_i.show()