Exemplo n.º 1
0
 def GetAnnotDetails(self, annotUrl, totalFrames):
     details = []
     if annotUrl == '':
         return details
     # Get locally the physical file
     annotationName = annotUrl[annotUrl.rfind('/') + 1:]
     for dirpath, _, filenames in os.walk(self.directory):
         if annotationName in filenames:
             myAnnot = Annotation(os.path.join(dirpath, annotationName),
                                  totalFrames)
             classes = myAnnot.GetClassesObjects()
             nmbAnnotedFrames, minFrame, maxFrame, minObj, maxObj = myAnnot.GetNumberOfAnnotatedFrames(
             )
             details.append(dirpath)
             details.append(annotationName)
             details.append(
                 '%s (%.2f%%)' %
                 (nmbAnnotedFrames, 100 * nmbAnnotedFrames /
                  totalFrames))  #annotated frames and its percentage
             details.append(len(classes))  #number of classes
             strClasses = ''
             for a in classes:
                 strClasses = '%s, %s' % (strClasses, a)
             strClasses = strClasses[2:]
             details.append(strClasses)  #classes
             details.append('frame %s' % minFrame)  #first annotation
             details.append('frame %s' % maxFrame)  #last annotation
             # details.append('(x,y,r,b)=%s / Area: %s / Frame: %s'%(str(minObj[2]),minObj[0],minObj[1])) #min obj (area,frame,x,y,r,b)
             # details.append('(x,y,r,b)=%s / Area: %s / Frame: %s'%(str(maxObj[2]),maxObj[0],maxObj[1])) #max obj (area,frame,x,y,r,b)
             details.append(
                 'Area: %s / Frame: %s' %
                 (minObj[0], minObj[1]))  #min obj (area,frame,x,y,r,b)
             details.append(
                 'Area: %s / Frame: %s' %
                 (maxObj[0], maxObj[1]))  #max obj (area,frame,x,y,r,b)
     return details