这里的问题 -像素处理
我正在写一个程序,将通过一系列的图像操作迭代 - 既影响整体形象,以及只是部分图片。我需要向用户(我自己)演示这些更改,以便我可以在发生操作时看到发生了什么问题。
我本来试图用PIL和Tkinter的做到这一点 - 但我不能图像甚至加载到GUI - 这里有一个位从网络的角落形成代码,通过众多的谷歌搜索:
from Tkinter import *
import Image, ImageDraw, ImageTk
import time
class Test(Frame):
def __init__(self):
Frame.__init__(self)
self.c = Canvas(self, width=574, height=431, bg="red")
self.c.pack()
Button(self, text="Process", command=self.procImg).pack()
Button(self, text="Quit", command=self.quit).pack()
def procImg(self):
t = time.time()
self.flashImg = Image.open("./in_img/resize.bmp")
#self.flashImg = flashImg.resize((574, 431))
self.flashImg = self.flashImg.convert("L")
#self.photo = ImageTk.BitmapImage(flashImg)
self.c.photo = ImageTk.PhotoImage(self.flashImg)
self.c.create_image(574, 431, anchor=NW, image=self.c.photo)
self.c.create_rectangle(50, 50, 100, 100, fill="blue")
self.update()
print time.time()-t
t = Test()
t.pack()
t.mainloop()
所以上面的代码非常糟糕,我知道 - 但我想发布一些东西来证明我至少在这方面工作。
任何人都可以向我推荐一种使用Python来解决这个问题的新方法吗?我宁愿不学习不同的语言 - 我是Tkinter图书馆的新手,所以如果其他方面更适合这一点,我没有任何问题学习一个新的图书馆。另外,仅供参考,“resize.bmp”图片是来自数码相机的调整大小的.JPG。我也尝试过这样一种方法,但它不起作用 - 我真的需要找到一种方法来在内存中将位图从闪存中刷到屏幕上,以便在处理过程中可以调整参数。
感谢您的帮助!
Dude that works。史诗 - 这回答我的问题。谢谢! – jimf 2012-08-12 02:21:14