Esempio n. 1
0
    def edge_image(self):

        arr = self.image2.get_pixbuf().get_pixels_array()
        #imgrec.verbose = 1
        imgrec.anchor(arr)

        imgrec.edge()
        self.invalidate()
Esempio n. 2
0
    def walk_image(self, xx, yy):

        #print "walk_image() dim =", iw, ih, "pos =", xx, yy
        arr = self.image2.get_pixbuf().get_pixels_array()
        imgrec.verbose = 1
        imgrec.anchor(arr)
        imgrec.walk(xx, yy)
        self.invalidate()
Esempio n. 3
0
    def blank_image(self):

        pixb = self.image2.get_pixbuf()
        iw = pixb.get_width()
        ih = pixb.get_height()
        #print "img dim", iw, ih

        import warnings
        with warnings.catch_warnings():
            warnings.simplefilter("ignore")
        arr = pixb.get_pixels_array()

        imgrec.verbose = 1
        imgrec.anchor(arr)

        imgrec.blank(color=0xffffffff)

        rc = self.get_allocation()
        self.window.invalidate_rect(rc, False)
Esempio n. 4
0
    def norm_image(self):

        pixb = self.image2.get_pixbuf()
        iw = pixb.get_width()
        ih = pixb.get_height()
        #print "img dim", iw, ih

        import warnings
        with warnings.catch_warnings():
            warnings.simplefilter("ignore")
        arr = pixb.get_pixels_array()

        #imgrec.verbose = 1
        imgrec.anchor(arr)

        #print "Norm Image"
        #imgrec.normalize(1,2,3)
        imgrec.bw(1, 2, 3)

        rc = self.get_allocation()
        self.window.invalidate_rect(rc, False)
Esempio n. 5
0
    def anal_image(self, xxx=-1, yyy=-1):

        # Get img props.
        pixb = self.image2.get_pixbuf()
        iw = pixb.get_width()
        ih = pixb.get_height()
        print "img dim", iw, ih

        import warnings
        with warnings.catch_warnings():
            warnings.simplefilter("ignore")
            arr = pixb.get_pixels_array()

        #imgrec.verbose = 1
        imgrec.anchor(arr)

        #print "dims", imgrec.dim1, imgrec.dim2, imgrec.dim3
        #print "width", imgrec.width, "height", imgrec.height

        hstep = imgrec.width / self.divider
        vstep = imgrec.height / self.divider

        # Interpret defaults:
        if xxx == -1: xxx = self.divider / 2
        if yyy == -1: yyy = self.divider / 2

        print "Anal image", xxx, yyy, hstep, vstep

        # Draw grid
        '''for xx in range(self.divider):
            hor = xx * hstep
            imgrec.line(hor, 0, hor, imgrec.height, 0xff888888)
        for yy in range(self.divider):
            ver = yy * vstep
            imgrec.line(0, ver, imgrec.width, ver, 0xff888888)'''

        # Get an array of median values
        xcnt = 0
        ycnt = 0
        darr = {}
        for yy in range(self.divider):
            xcnt = 0
            for xx in range(self.divider):
                hor = xx * hstep
                ver = yy * vstep
                med = imgrec.median(hor, ver, hor + hstep, ver + vstep)
                #imgrec.blank(hor, ver, hor + hstep, ver + vstep, med)
                med &= 0xffffff
                # Mask out alpha

                # Remember it in a dict
                self.add_to_dict(darr, xcnt, ycnt, med)
                xcnt += 1
            ycnt += 1

        # Set up flood fill
        fparm = floodParm(self.divider, darr)
        fparm.hstep = hstep
        fparm.vstep = vstep
        fparm.tresh = TRESH

        # Progress feedback
        fparm.inval = self.show_prog
        fparm.colx = int(random() * 0xffffff)

        flood(xxx, yyy, fparm)

        # Reference position
        self.aframe.append((xxx, yyy, 0xff8888ff))

        # Display final image
        self.show_prog(fparm)