[Tutor] Questions about PIL
Chris Hengge
pyro9219 at gmail.com
Thu Nov 9 10:32:57 CET 2006
Yes, I understand what a loop is, and there was a loop but I didn't write
that code into my email because I didn't need commenting on it.
Here is the code so its clear incase you really care =P
from PIL import Image
from PIL import ImageGrab
import time
capturedFrames = 100
count = 0
print "\nInitializing Engine..."
newView = ImageGrab.grab()
print "Engine Initilized Successfully!"
raw_input("Press any key to begin...")
print "\nInitializing capture cycle..."
startClock = time.clock()
for i in range(capturedFrames): # Here is the loop I was timing that I
commented is extremely slow using the method you suggested. It does work
however.
oldView = newView
newView = ImageGrab.grab()
if oldView.tostring() != newView.tostring():
count = count + 1
endClock = time.clock()
totalTime = endClock - startClock
calculatedFPS = capturedFrames / totalTime
horRes = str(newView.getbbox()[2])
verRes = str(newView.getbbox()[3])
print "Frame Resolution : %sx%s" % (horRes.rjust(4), verRes.rjust(4))
print "Frames Captured : %s" % str(capturedFrames).rjust(9)
print "Capture Time (sec) : %s" % str(totalTime)[:4].rjust(9)
print "Calculated FPS : %s" % str(calculatedFPS)[:4].rjust(9)
print "Changes Registered : %s" % str(count).rjust(9)
raw_input("\nPress Any Key...")
On 11/8/06, Luke Paireepinart <rabidpoobear at gmail.com> wrote:
>
> Chris Hengge wrote:
> > alist = difference(image1,image2)
> > a = [b for b in alist.getdata() if b != (0,0,0)]
> > if len(a) != 0:
> > print "Not the same"
> >
> > is much slower then (9x)
> >
> > if im1.tostring() != im2.tostring()
> > print "something changed!"
> >
> > This loop itself is fairly slow by itself though.. I'm going to try
> > and see if there is a faster way.
> Chris,
> are you sure you know what a loop is?
> The only loop here is in the list comprehension.
> 'if' is not a loop.
> 'for' and 'while' are.
> In computer science, it's important to be clear in your use of
> terminology.
>
> It makes sense that my example was slow.
> I didn't really think to try converting them to strings.
>
> Any time you're trying to compare pixel values, it's going to take a
> while,
> cause remember, a 1024X768 image has 786,432 different pixels.
> I think your tostring comparison may be your best bet.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20061109/d0798ff4/attachment.htm
More information about the Tutor
mailing list