Пример #1
0
    def __init__(self, name, alnr, i=0):
        self.name = name
        self.i = i
        self.im_stack = [None] * alnr.num_subject
        self.im_nobg_stack = [None] * alnr.num_subject
        for j, im in enumerate(alnr.subject_stack):
            im_centered = contour.pad_image_cnt(im, None)
            if j > 0:
                opt = alnr.dSS[j]
                print j, opt[0], opt[1], opt[2], np.rad2deg(opt[2])
                prev_centroid = contour.get_centroid(self.im_nobg_stack[j - 1])
                self.im_nobg_stack[j] = contour.transform_cnt(
                    im_centered, None, opt, anchor_im="centroid", anchor_bg=prev_centroid
                )

                opacity = 0.3
                self.im_stack[j] = cv2.addWeighted(
                    self.im_nobg_stack[j - 1], opacity, self.im_nobg_stack[j], 1 - opacity, 0
                )
            else:
                prev_centroid = "center"
                self.im_stack[j] = im_centered
                self.im_nobg_stack[j] = im_centered
            cv2.circle(self.im_nobg_stack[j], contour.get_centroid(self.im_nobg_stack[j]), 5, 0)
Пример #2
0
 def __init__(self, name, im_stack, i=0):
     self.name = name
     self.i = i
     self.im_stack = [contour.pad_image_cnt(im) for im in im_stack]