예제 #1
0
    def __init__(self, filepath, qually, mode='444'):
        '''
        '''
        imOrig = cv2.imread(filepath,1)
        self.filepath = filepath
        self.mode = mode
        #Taxa de compressão e Redundancia
        self.CRate = 0; self.Redunc = 0
        self.avgBits = 0
        #Qualidade
        self.qually = qually
        #Dimensões da imagem original
        self.Mo, self.No, self.Do = imOrig.shape
        self.r, self.c = [8, 8]       #DIMENSAO DOS BLOCOS
        #TRATA AS DIMENSOES DA IMAGEM
        (self.M, self.N, self.D), self.img = h.adjImg(imOrig)
        #NUMERO DE BLOCOS NA VERTICAL E HORIZONTAL
        self.nBlkRows = int(np.floor(self.M/self.r))
        self.nBlkCols = int(np.floor(self.N/self.c))
        #Gera Tabela de Qunatizaçao
        self.Z = h.genQntb(self.qually)
        #TRANSFORMA DE RGB PARA YCbCr
        self.Ymg = cv2.cvtColor(self.img, cv2.COLOR_BGR2YCR_CB)
        self.NumBits = 0
        if self.Do == 2:
            self.NCHNL = 1
        elif self.Do == 3:
            self.NCHNL = 3
            
#        self.OUTCOMES = self._run_()
        self._run_()
예제 #2
0
 def __init__(self, filename):
     '''
     '''
     
     self.fl = open(filename,'r')        
     header = self.fl.readline().split(',')                  #Lê cabeçalho
     self.Mo, self.No, self.Do, self.qually, self.mode = int(header[0]), int(header[1]), int(header[2]), int(header[3]), header[4][:-1]
     self.SHAPE = (self.Mo, self.No, self.Do)
     (self.M, self.N, self.D), self.imRaw = h.adjImg( np.zeros(self.SHAPE) )
     #NUMERO DE BLOCOS NA VERTICAL E HORIZONTAL
     self.R, self.C = [8,8]
     #NUMERO DE BLOCOS NA VERTICAL E HORIZONTAL
     self.nBlkRows = int(np.floor(self.M/self.R))
     self.nBlkCols = int(np.floor(self.N/self.C))
     #Gera Tabela de Qunatizaçao
     self.Z = h.genQntb(self.qually)
     
     if self.Do == 2:
         self.NCHNL = 1
     elif self.Do == 3:
         self.NCHNL = 3