def maskOut(self,im,mask):
     if self.nlevs>0:
         new_pyr=lPyr.build_l_pyr_levs(im,self.nlevs);
         mask_pyr=lPyr.build_mask_pyr_levs(mask,self.nlevs,self.mask_lev)
     else:
         new_pyr=lPyr.build_l_pyr(im)
         mask_pyr=lPyr.build_mask_pyr(mask,self.mask_lev)
     for band_num in range(len(new_pyr)):
         old_band=self.pyr[band_num]
         new_band=new_pyr[band_num]
         new_band[:,:,:]=self.r*new_band+(1-self.r)*old_band
         mask_band=mask_pyr[band_num]
         if self.thresh:
             mask_band=cv2.threshold(mask_band,254,255,cv2.THRESH_BINARY)[1]
         new_mask=np.divide(np.array(mask_band,dtype=np.float32),255)
         old_mask=np.subtract(1,new_mask)
         #print np.min(n.add(old_mask,new_mask))
         #print np.max(np.add(old_mask,new_mask))
         if band_num<(len(new_pyr)-1):
             new_band=np.array(np.multiply(new_band,new_mask),dtype=np.int16)
             old_band=np.array(np.multiply(old_band,old_mask),dtype=np.int16)
         else:
             new_band=np.array(np.multiply(new_band,new_mask),dtype=np.uint8)
             old_band=np.array(np.multiply(old_band,old_mask),dtype=np.uint8)
         self.pyr[band_num]=old_band+new_band
     return lPyr.recon_l_pyr(self.pyr)
Example #2
0
 def maskOut(self, im, mask):
     if self.nlevs > 0:
         new_pyr = lPyr.build_l_pyr_levs(im, self.nlevs)
         mask_pyr = lPyr.build_mask_pyr_levs(mask, self.nlevs,
                                             self.mask_lev)
     else:
         new_pyr = lPyr.build_l_pyr(im)
         mask_pyr = lPyr.build_mask_pyr(mask, self.mask_lev)
     for band_num in range(len(new_pyr)):
         old_band = self.pyr[band_num]
         new_band = new_pyr[band_num]
         new_band[:, :, :] = new_band
         mask_band = mask_pyr[band_num]
         if self.thresh:
             mask_band = cv2.threshold(mask_band, 254, 255,
                                       cv2.THRESH_BINARY)[1]
         new_mask = np.divide(np.array(mask_band, dtype=np.float32), 255)
         old_mask = np.subtract(1, new_mask)
         if band_num < (len(new_pyr) - 1):
             new_band = np.array(np.multiply(new_band, new_mask),
                                 dtype=np.int16)
             old_band = np.array(np.multiply(old_band, old_mask),
                                 dtype=np.int16)
         else:
             new_band = np.array(np.multiply(new_band, new_mask),
                                 dtype=np.uint8)
             old_band = np.array(np.multiply(old_band, old_mask),
                                 dtype=np.uint8)
         self.pyr[band_num] = old_band + new_band
         self.mask_pyr[band_num] = np.float64(
             (self.mask_pyr[band_num] + new_mask) > 0)
     return lPyr.recon_l_pyr(self.pyr)
Example #3
0
 def __init__(self,im,thresh,nlevs,mask_lev):
     if nlevs>0:
         self.pyr=lPyr.build_l_pyr_levs(im,nlevs);
     else:
         self.pyr=lPyr.build_l_pyr(im)
     self.thresh=thresh
     self.nlevs=nlevs
     self.mask_lev=mask_lev
Example #4
0
 def __init__(self, im, thresh, nlevs, mask_lev):
     if nlevs > 0:
         self.pyr = lPyr.build_l_pyr_levs(im, nlevs)
     else:
         self.pyr = lPyr.build_l_pyr(im)
     self.thresh = thresh
     self.nlevs = nlevs
     self.mask_lev = mask_lev
     self.mask_pyr = []
     for lev in self.pyr:
         self.mask_pyr.append(np.zeros(lev.shape))
Example #5
0
 def stripeOut(self,im,r1,r2):
     new_pyr=lPyr.build_l_pyr(im);
     for band_num in range(len(new_pyr)):
         chunksz=np.power(2,band_num)
         first_break = r1/chunksz
         second_break=r2/chunksz
         first_lweight=(r1%chunksz)/float(chunksz)
         first_rweight=1-first_lweight
         second_lweight=(r2%chunksz)/float(chunksz)
         second_rweight=1-second_lweight
         old_band=self.pyr[band_num]
         new_band=new_pyr[band_num]
         if first_break>-1:
             old_band[:,:first_break,:]=new_band[:,:first_break,:]
             old_band[:,first_break,:]=first_lweight*new_band[:,first_break,:]+first_rweight*old_band[:,first_break,:]
         else:
             first_break=0
         if second_break<old_band.shape[1]-1:
             old_band[:,second_break+1:,:]=new_band[:,second_break+1:,:]
             old_band[:,second_break,:]=second_lweight*old_band[:,second_break,:]+second_rweight*new_band[:,second_break,:]
     return lPyr.recon_l_pyr(self.pyr)
Example #6
0
 def __init__(self,im):
     self.pyr=lPyr.build_l_pyr(im);