def __init__(self,ip_address,root_tk,lock):
     self.ip_address = ip_address
     self.queue_process_to_frm = multiprocessing.Queue()
     self.queue_thread_to_process = multiprocessing.Queue()
     self.root = root_tk
     self.frm_camera = FrmCamera(self.root, lock,self.queue_process_to_frm)
     self.lock = lock
     # create process
     self.process_pc = Process_People_Counter(self.ip_address,self.queue_process_to_frm)
class PC_Manager(object):
    def __init__(self,ip_address,root_tk,lock):
        self.ip_address = ip_address
        self.queue_process_to_frm = multiprocessing.Queue()
        self.queue_thread_to_process = multiprocessing.Queue()
        self.root = root_tk
        self.frm_camera = FrmCamera(self.root, lock,self.queue_process_to_frm)
        self.lock = lock
        # create process
        self.process_pc = Process_People_Counter(self.ip_address,self.queue_process_to_frm)

    def start(self):
        self.process_pc.start()
        self.frm_camera.toplevel.after(0, func=lambda: self.frm_camera.update_video())