Advertisement
Guest User

Untitled

a guest
Feb 27th, 2020
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. import copy
  2.  
  3. def PrintArray(Arr):
  4. for rows in Arr:
  5. print(rows)
  6.  
  7.  
  8. OriginalA = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  9.  
  10. Kernel = [[-1, -2, -1], [0, 0, 0], [1, 2, 1]]
  11.  
  12.  
  13. kernelRows = len(Kernel)
  14. kernelCols = len(Kernel[0])
  15.  
  16. middleR = int((kernelRows+1)/2)-1 #since row starts at 0
  17. middleC = int((kernelCols+1)/2)-1 #since col starts at 0
  18.  
  19.  
  20. RowsToAdd = int((kernelRows - 1)/2)
  21. ColsToAdd = int((kernelCols - 1)/2)
  22. A = copy.deepcopy(OriginalA)
  23.  
  24. for r in A:
  25. for count in range(0, ColsToAdd):
  26. r.insert(kernelCols, 0)
  27. r.insert(0, 0)
  28.  
  29. EmptyRow = []
  30. for i in range(0, len(A[0])):
  31. EmptyRow.insert(0, 0)
  32.  
  33.  
  34. for j in range(0, RowsToAdd):
  35. A.insert(kernelRows, EmptyRow)
  36. A.insert(0, EmptyRow)
  37.  
  38.  
  39. for row in range(0, len(OriginalA)):
  40. for col in range(0, len(OriginalA[0])):
  41. #CenterValue = A[row+RowsToAdd][col+ColsToAdd]
  42.  
  43. TopLeft = A[row + RowsToAdd - 1][col + ColsToAdd -1] * Kernel[middleR -1][middleC -1]
  44. TopMiddle = A[row + RowsToAdd - 1][col + ColsToAdd] * Kernel[middleR -1][middleC]
  45. TopRight = A[row + RowsToAdd -1][col + ColsToAdd + 1] * Kernel[middleR-1][middleC+1]
  46.  
  47. MiddleLeft = A[row + RowsToAdd][col + ColsToAdd-1] * Kernel[middleR][middleC-1]
  48. Middle = A[row + RowsToAdd][col + ColsToAdd] * Kernel[middleR][middleC]
  49. MiddleRight = A[row + RowsToAdd][col + ColsToAdd+1] * Kernel[middleR][middleC+1]
  50.  
  51. BottomLeft = A[row + RowsToAdd+1][col + ColsToAdd-1] * Kernel[middleR+1][middleC-1]
  52. BottomMiddle = A[row + RowsToAdd+1][col + ColsToAdd] * Kernel[middleR+1][middleC]
  53. BottomRight = A[row + RowsToAdd+1][col + ColsToAdd+1] * Kernel[middleR+1][middleC+1]
  54.  
  55. FinalValue = TopLeft+TopMiddle+TopRight+MiddleLeft+Middle+MiddleRight+BottomLeft+BottomMiddle+BottomRight
  56. print(FinalValue)
  57.  
  58.  
  59. PrintArray(A)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement