Advertisement
Guest User

Integral Image

a guest
Oct 17th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.07 KB | None | 0 0
  1. import matplotlib.pyplot as plt
  2. from PIL import Image
  3.  
  4. img = Image.open("Cameraman_noise.bmp").convert("L")
  5.  
  6. integral_img = img.copy()
  7.  
  8. value = 0
  9. w, h = img.size[0], img.size[1];
  10. new_image = [[0 for x in range(h)] for y in range(w)]
  11. integral_array = [[0 for x in range(h)] for y in range(w)]
  12.  
  13. # CALCULATE FOR ALL PIXELS THAT ARE ON THE LEFT    
  14. for i in range (0,img.size[0]):
  15.     value = 0
  16.     for j in range (0,img.size[1]):
  17.         value += img.getpixel((i, j))
  18.         new_image[i][j] = value
  19.        
  20. # CALCULATE FOR ALL PIXELS THAT ARE ABOVE
  21. for i in range (0,img.size[1]):
  22.     value = 0
  23.     for j in range (0,img.size[0]):
  24.         value += new_image[j][i]
  25.         integral_array[j][i] = value
  26.  
  27. value = 0
  28.  
  29. for i in range (0,img.size[0]):
  30.     for j in range (0,img.size[1]):
  31.         value = (255-0)*(integral_array[i][j] - integral_array[0][0])//(integral_array[img.size[0]-1][img.size[1]-1] + integral_array[0][0])
  32.         integral_img.putpixel((i,j),(int) (value))
  33.        
  34.        
  35.        
  36. plt.imshow(integral_img)
  37. integral_img.save('Camera_Integ.jpg')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement