win32 platform
This commit is contained in:
commit
c1666978b2
1122 changed files with 348397 additions and 0 deletions
74
Scripts/thresholder.py
Normal file
74
Scripts/thresholder.py
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
#!e:\oml-win32\local_platform\bin\python.exe
|
||||
#
|
||||
# The Python Imaging Library
|
||||
# $Id$
|
||||
#
|
||||
# this demo script illustrates how a 1-bit BitmapImage can be used
|
||||
# as a dynamically updated overlay
|
||||
#
|
||||
|
||||
try:
|
||||
from tkinter import *
|
||||
except ImportError:
|
||||
from Tkinter import *
|
||||
|
||||
from PIL import Image, ImageTk
|
||||
import sys
|
||||
|
||||
#
|
||||
# an image viewer
|
||||
|
||||
|
||||
class UI(Frame):
|
||||
def __init__(self, master, im, value=128):
|
||||
Frame.__init__(self, master)
|
||||
|
||||
self.image = im
|
||||
self.value = value
|
||||
|
||||
self.canvas = Canvas(self, width=im.size[0], height=im.size[1])
|
||||
self.backdrop = ImageTk.PhotoImage(im)
|
||||
self.canvas.create_image(0, 0, image=self.backdrop, anchor=NW)
|
||||
self.canvas.pack()
|
||||
|
||||
scale = Scale(self, orient=HORIZONTAL, from_=0, to=255,
|
||||
resolution=1, command=self.update_scale, length=256)
|
||||
scale.set(value)
|
||||
scale.bind("<ButtonRelease-1>", self.redraw)
|
||||
scale.pack()
|
||||
|
||||
# uncomment the following line for instant feedback (might
|
||||
# be too slow on some platforms)
|
||||
# self.redraw()
|
||||
|
||||
def update_scale(self, value):
|
||||
self.value = eval(value)
|
||||
|
||||
self.redraw()
|
||||
|
||||
def redraw(self, event=None):
|
||||
|
||||
# create overlay (note the explicit conversion to mode "1")
|
||||
im = self.image.point(lambda v, t=self.value: v >= t, "1")
|
||||
self.overlay = ImageTk.BitmapImage(im, foreground="green")
|
||||
|
||||
# update canvas
|
||||
self.canvas.delete("overlay")
|
||||
self.canvas.create_image(0, 0, image=self.overlay, anchor=NW,
|
||||
tags="overlay")
|
||||
|
||||
# --------------------------------------------------------------------
|
||||
# main
|
||||
|
||||
root = Tk()
|
||||
|
||||
im = Image.open(sys.argv[1])
|
||||
|
||||
if im.mode != "L":
|
||||
im = im.convert("L")
|
||||
|
||||
# im.thumbnail((320,200))
|
||||
|
||||
UI(root, im).pack()
|
||||
|
||||
root.mainloop()
|
||||
Loading…
Add table
Add a link
Reference in a new issue