
import tkinter
from PIL import Image, ImageTk #最重要的两个模块
win = tkinter.Tk()
win.title('提取像素建立图像')
win.geometry('400x400')
can = tkinter.Canvas(win,bg='white',width=300,height=300)#创建画布组件
image = Image.open("dukou.jpg") # 打开图像文件
#image.thumbnail((128,128)) #调整大小缩放
#image.save("sss5.jpg","PNG")#'JPEG' 不行的话就写PNG或者GIF格式也可以默认存到你pyhton项目文件夹下了
img = ImageTk.PhotoImage(image) # 获取图像像素
can.create_image(160,120,image=img) # 将图像像素添加到画布中
can.pack() # 将画布组件添加到主窗口
win.mainloop()
运行效果:
import tkinter
from tkinter import Label
from PIL import Image, ImageTk
import glob, os#找系统文件路径时用得到
win = tkinter.Tk()
win.title('建立图像缩略图')
win.geometry('200x200') # 定义窗体的大小400x200像素
#显然这个函数的主要功能就是缩放然后存储,缩放上面提了一下是thumbnail函数,保存就是直接
# .save(文件名,类型)
def imgshow():
size = (64,64) # 设置缩略图尺寸的元组参数
for infile in glob.glob("dukou.jpg"):
file, ext = os.path.splitext(infile)#file:dukou , ext:jpg
im = Image.open("dukou.jpg")
im.thumbnail(size)
im.save(file + "(1).jpg", "PNG") # 保存缩略图为dukou(1).jpg 为啥要写PNG类型,因为我的PILLOW库好像有问题!
photo = ImageTk.PhotoImage(file='dukou(1).jpg')## 获取图像像素
label = Label(win,image=photo)#加到lable标签里
label.image = photo
label.pack()
tkinter.Button(win, text='建立图像缩略图', command=imgshow).pack()
win.mainloop()
运行效果:
import tkinter
from tkinter import Label
from PIL import Image,ImageTk,ImageEnhance,ImageFilter
win=tkinter.Tk()
win.title('增强图像')
win.geometry('1050x500')
photo=Image.open('oldfend.jpg')
photo = photo.resize((500,400))#取出图片并设置好缩放效果为(xx,xx)
img1=ImageTk.PhotoImage(photo)#取出它的像素
lable_1=Label(win,image=img1)#把原图放到lable1上
def imgshow():
img=photo.filter(ImageFilter.EDGE_ENHANCE)#增强对比度属性ImageFilter.EDGE_ENHANCE
img2=ImageTk.PhotoImage(img)#把增强后的img的像素取出来
lable_2=Label(win,image=img2).grid(row=1,column=1)#放到lable2标签上并按网格式布局
lable_2.image=img2#放到lable2上
button=tkinter.Button(win,text='增强图像处理',command=imgshow)#bun点击事件触发上面函数
button.grid(row=0,column=0,columnspan=2)
lable_1.grid(row=1,column=0)
win.mainloop()
运行效果: