У меня есть код, который разбивает одно изображение на несколько суб-изображений, используя метод Pillow's crop. Мой код похож на следующее:Проблемы с повторным использованием метода урожая в Pillow (PILon PIL fork)
from PIL import Image
from PIL import ImageTk
import Tkinter
# Open image from file path
baseimg = Image.open("PathToLargeImage.tif")
# Get image attributes
height = baseimg.height
width = baseimg.width
# Create a list of sub-images
subimages = []
for y in range(0, height, 50):
subimage = baseimg.crop((0, y, width, 10))
subimage.load() # Call load on sub-image to detach it from baseimg
subimages.append(subimage)
showimage(subimage)
Когда я делаю вызов для отображения SubImage первый SubImage будет отображаться правильно, то все следующие суб-изображения будут иметь нулевую высоту (открыто с отладкой с PyCharm) и отображаться неправильно.
ShowImage функция использует Tkinter и выглядит следующим образом:
def showimage(img):
# Build main window
root = Tkinter.Tk()
# Convert image
tkimage = ImageTk.PhotoImage(img)
# Add image on window
Tkinter.Label(root, image=tkimage).pack()
# Start gui loop
root.mainloop()