code: def split(self, fragment_height):
          
          passes = int(math.ceil(self.height/fragment_height))
          fragments = []
          for n in range(0, passes):
              left = 0
              right = self.width
              upper = n * fragment_height
              lower = min((n + 1) * fragment_height, self.height)
              box = (left, upper, right, lower)
              fragments.append(self.img_original.crop(box))
          return fragments
docs: Split an image into multiple fragments after fragment_height pixels
  
          :param fragment_height: height of fragment
          :return: list of PIL objects