Nevím, co přesně tím myslíš, ale obecně můžeš reagovat na různé události a implementovat tak výběr oblasti.
import tkinter as tk
import tkinter.filedialog as fd
def main():
root = tk.Tk()
canvas = tk.Canvas(root, width=640, height=480)
canvas.pack()
image = canvas.create_image(0, 0, anchor=tk.NW)
selrect = canvas.create_rectangle(0, 0, 0, 0)
filename = fd.askopenfilename(filetypes=[("GIF images", ".gif")])
if filename:
img = tk.PhotoImage(file=filename)
canvas.itemconfig(image, image=img)
def selstart(event):
canvas.coords(selrect, event.x, event.y, event.x, event.y)
def selupdate(event):
x1, y1, x2, y2 = canvas.coords(selrect)
canvas.coords(selrect, x1, y1, event.x, event.y)
canvas.bind("<Button-1>", selstart)
canvas.bind("<B1-Motion>", selupdate)
root.mainloop()
if __name__ == "__main__":
main()