Beispiel #1
0
 def autocrop(self):
     border = 255
     rr = (self.region_rect.left, self.region_rect.top,
           self.region_rect.right, self.region_rect.bottom)
     imp = self.image.crop(rr)
     if self.acbwmode:
         bw = imp.convert('1')
     else:
         bw = imp.convert('L')
     bw = bw.filter(ImageFilter.MedianFilter)
     bg = Image.new('1', imp.size, border)
     diff = ImageChops.difference(bw, bg)
     bbox = diff.getbbox()
     brect = Rect((self.x0 + bbox[0], self.y0 + bbox[1]),
                  (self.x0 + bbox[2], self.y0 + bbox[3]))
     brect = brect.valid_rect(self.w, self.h)
     self.crop_rects.append(brect)
     self.n = self.n + 1
     self.canvas.delete(tk.ALL)
     self.displayimage()