Jimmyzheng-10's picture
Add app.py and the screencoder repo
a383d0e
class Config:
def __init__(self):
# Adjustable
# self.THRESHOLD_PRE_GRADIENT = 4 # dribbble:4 rico:4 web:1
# self.THRESHOLD_OBJ_MIN_AREA = 55 # bottom line 55 of small circle
# self.THRESHOLD_BLOCK_GRADIENT = 5
# *** Frozen ***
self.THRESHOLD_REC_MIN_EVENNESS = 0.7
self.THRESHOLD_REC_MAX_DENT_RATIO = 0.25
self.THRESHOLD_LINE_THICKNESS = 8
self.THRESHOLD_LINE_MIN_LENGTH = 0.95
self.THRESHOLD_COMPO_MAX_SCALE = (0.25, 0.98) # (120/800, 422.5/450) maximum height and width ratio for a atomic compo (button)
self.THRESHOLD_TEXT_MAX_WORD_GAP = 10
self.THRESHOLD_TEXT_MAX_HEIGHT = 0.04 # 40/800 maximum height of text
self.THRESHOLD_TOP_BOTTOM_BAR = (0.045, 0.94) # (36/800, 752/800) height ratio of top and bottom bar
self.THRESHOLD_BLOCK_MIN_HEIGHT = 0.03 # 24/800
# deprecated
# self.THRESHOLD_OBJ_MIN_PERIMETER = 0
# self.THRESHOLD_BLOCK_MAX_BORDER_THICKNESS = 8
# self.THRESHOLD_BLOCK_MAX_CROSS_POINT = 0.1
# self.THRESHOLD_UICOMPO_MIN_W_H_RATIO = 0.4
# self.THRESHOLD_TEXT_MAX_WIDTH = 150
# self.THRESHOLD_LINE_MIN_LENGTH_H = 50
# self.THRESHOLD_LINE_MIN_LENGTH_V = 50
# self.OCR_PADDING = 5
# self.OCR_MIN_WORD_AREA = 0.45
# self.THRESHOLD_MIN_IOU = 0.1 # dribbble:0.003 rico:0.1 web:0.1
# self.THRESHOLD_BLOCK_MIN_EDGE_LENGTH = 210 # dribbble:68 rico:210 web:70
# self.THRESHOLD_UICOMPO_MAX_W_H_RATIO = 10 # dribbble:10 rico:10 web:22
self.CLASS_MAP = {'0':'Button', '1':'CheckBox', '2':'Chronometer', '3':'EditText', '4':'ImageButton', '5':'ImageView',
'6':'ProgressBar', '7':'RadioButton', '8':'RatingBar', '9':'SeekBar', '10':'Spinner', '11':'Switch',
'12':'ToggleButton', '13':'VideoView', '14':'TextView'}
self.COLOR = {'Button': (0, 255, 0), 'CheckBox': (0, 0, 255), 'Chronometer': (255, 166, 166),
'EditText': (255, 166, 0),
'ImageButton': (77, 77, 255), 'ImageView': (255, 0, 166), 'ProgressBar': (166, 0, 255),
'RadioButton': (166, 166, 166),
'RatingBar': (0, 166, 255), 'SeekBar': (0, 166, 10), 'Spinner': (50, 21, 255),
'Switch': (80, 166, 66), 'ToggleButton': (0, 66, 80), 'VideoView': (88, 66, 0),
'TextView': (169, 255, 0),
'Text':(169, 255, 0), 'Non-Text':(255, 0, 166),
'Noise':(6,6,255), 'Non-Noise': (6,255,6),
'Image':(255,6,6), 'Non-Image':(6,6,255)}