요약하면 ImageTk.PhotoImage 객체를 Image (PIL) 객체 또는 numpy 배열로 변환하고 싶습니다. numpy.asarray()를 사용하여 Image (PIL) 객체를 numpy 배열로 변환 할 수 있다는 것을 알았습니다. 나는 NumPy와 배열을 제공하고있어 같은 Tkinter의에 표시 할 수 있습니다 내가 예상처럼 Tkinter 이미지 디스플레이 (NumPy 배열로 변환 됨)
np.asarray(imgTk)
가 [256256] 배열을 반환하지 않습니다
from Tkinter import *
import numpy as np
import Image, ImageTk
def callback(event):
# do some stuff with a numpy array
# ideally, e.g.:
x=event.x; y=event.y
val=np.asarray(imgTk)[x,y]
print val
arr=np.ones([256,256])
img=Image.fromarray(arr)
imgTk=ImageTk.PhotoImage(img)
t=Tk()
l=Label(t)
l.configure(image=imgTk)
l.bind('<Motion>', callback)
l.pack()
t.mainloop()
그러나 일부입니다. 더 쉬운 방법이있을 것입니다. (볼 수 있듯이 커서를 움직이면 2D numpy 배열 또는 "이미지"의 픽셀 값을 출력하려고합니다.) 어쩌면 ImageTk를 사용하지 않고 Tkinter에 numpy 배열 또는 Image (PIL) 객체를 표시 할 수도 있지만 그 중 하나에 대한 답을 찾지 못하는 것 같습니다. 어떤 제안도 감사합니다. 감사!
그리고 당신은 반대를 어떻게 알 수 있습니까? Tkinter를 사용하여 numpy 배열 이미지를 Tk Image로 변경하는 방법은 무엇입니까? –