def open_dict(self):
     try:
         with open(Setting().usrs_info_path, 'rb') as usr_file:
             self.usrs_dict = pk.load(usr_file)
     except FileNotFoundError:
         with open(Setting().usrs_info_path, 'wb') as usr_file:
             self.usrs_dict = {'1': 'ZhngHexuan', '3': "RenTianyi"}
             pk.dump(self.usrs_dict, usr_file)
     usr_file.close()
 def face_save(self, img, max_face):
     gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
     if max_face[2] > 30:
         self.number += 1
         print(self.number)
         print(Setting().face_image_path + "/people." +
               str(int(self.face_id)) + '.' + str(self.number) + ".jpg")
         cv2.imwrite(Setting().face_image_path + "/people." + str(int(self.face_id)) + '.' + str(self.number) +
                     ".jpg", gray[max_face[1]:max_face[1]+max_face[3], max_face[0]:max_face[0]+max_face[2]])
     return
Ejemplo n.º 3
0
 def get_sources(self):
     source_list = [0]
     vedio_Paths = [
         os.path.join(Setting().vedio_path, f)
         for f in os.listdir(Setting().vedio_path)
     ]
     for vedio_Path in vedio_Paths:
         if os.path.split(vedio_Path)[-1].split('.')[-1] in ['avi', 'mp4']:
             source_list.append(vedio_Path)
     return source_list
Ejemplo n.º 4
0
 def get_show_users_dict(self):
     s = {}
     for user_id, user_name in self.users_dict.items():
         s["0"*(6-len(user_id))+user_id] = [user_name +
                                            " "*(20-len(user_name)), 0]
     img_paths = [os.path.join(Setting().face_image_path, f)
                  for f in os.listdir(Setting().face_image_path)]
     for img_path in img_paths:
         user_id = os.path.split(img_path)[-1].split('.')[1]
         if user_id in self.users_dict:
             s["0"*(6-len(user_id))+user_id][1] += 1
     self.show_users_dict = s
 def __init__(self):
     self.face_recognizer = cv2.face.LBPHFaceRecognizer_create(
         grid_x=16, grid_y=16)
     self.face_recognizer.read(Setting().train_result_path)
     self.face_detector = cv2.CascadeClassifier(
         Setting().face_classification_file_path)
     self.eyes_detector = cv2.CascadeClassifier(
         Setting().eyes_classification_file_path)
     self.predict_number = 0
     self.number = 0
     self.face_id = None
     self.usrs_dict = None
     self.open_dict()
     self.predict_dict = {}
Ejemplo n.º 6
0
 def show_user_image_by_id(self):
     chanage = False
     while True:
         id_search = input("\n>请输入要查找的编号,或输入b退出,或输入s查看用户表:")
         if id_search == 'b':
             break
         if id_search == 's':
             self.show_users()
             continue
         if (not id_search.isdigit()) or len(str(int(id_search))) > 6:
             print("【错误】请输入合法(小于等于6位数字)编号。")
             continue
         if id_search not in self.users_dict.keys():
             print("【错误】数据库中没有改编号用户。")
             continue
         img_paths = [os.path.join(Setting().face_image_path, f)
                      for f in os.listdir(Setting().face_image_path)]
         for img_path in img_paths:
             user_id = int(os.path.split(img_path)[-1].split('.')[1])
             if user_id == int(id_search):
                 img = plt.imread(img_path)
                 plt.title(self.users_dict[id_search] +
                           ":" + os.path.split(img_path)[-1])
                 plt.imshow(img, cmap="gray")
                 plt.axis('off')
                 plt.show()
                 command = input(
                     "\n>>直接按回车键(其他)查看下一张,输入d删除本张照片,输入b退出查看该编号:")
                 while command == 'd':
                     if input("\n>>>按回车确认,输入其他取消:") == '':
                         os.remove(img_path)
                         chanage = True
                         print("【通知】已经成功删除。")
                         command = input("\n>>直接按回车键(其他)查看下一张,输入b退出查看该编号:")
                         if command == 'd':
                             command = ''
                     else:
                         print("【通知】已经取消删除。")
                         command = input(
                             "\n>>直接按回车键(其他)查看下一张,输入d删除本张照片,输入b退出查看该编号:")
                 if command == 'b':
                     break
                 else:
                     continue
     if chanage:
         print("【通知】由于您删除了图片,正在重新训练模型")
         self.face_tools.face_train()
     self.press_enter_continue()
Ejemplo n.º 7
0
 def save_users_dict(self):
     try:
         with open(Setting().usrs_info_path, 'wb') as usr_file:
             pk.dump(self.users_dict, usr_file)
     except FileNotFoundError:
         print("【异常】出现错误")
     usr_file.close()
Ejemplo n.º 8
0
def run_game():
    pygame.init()
    pygame.display.set_caption('Alien Invasion')
    ai_setings = Setting()
    screen = pygame.display.set_mode(
        (ai_setings.screen_width, ai_setings.screen_height), pygame.FULLSCREEN)
    play_button = Button(ai_setings, screen, 'Play')
    setting_button = S_Button(ai_setings, screen, 'Setting')
    q_button = Q_Button(ai_setings, screen, 'Quit')
    ship = Ship(ai_setings, screen)
    bullet = Group()
    alien = Alien(ai_setings, screen, scale)
    aliens = Group()
    gf.create_fleet(ai_setings, screen, ship, aliens)
    stats = GameStats(ai_setings)
    sb = scoreboard(ai_setings, screen, stats)
    gf.update_screen(ai_setings, screen, stats, sb, ship, bullet, aliens,
                     play_button, setting_button, q_button)

    while True:
        gf.check_events(ai_setings, screen, stats, sb, play_button,
                        setting_button, q_button, ship, aliens, bullet)
        if stats.game_active:
            ship.update()
            gf.update_screen(ai_setings, screen, stats, sb, ship, bullet,
                             aliens, play_button, setting_button, q_button)
            gf.update_bullet(ai_setings, screen, stats, sb, ship, bullet,
                             aliens)
            gf.update_aliens(ai_setings, stats, screen, sb, ship, aliens,
                             bullet)
Ejemplo n.º 9
0
 def __init__(self, img, init_pos):
     pygame.sprite.Sprite.__init__(self)
     self.image = img
     self.rect = self.image.get_rect()
     self.rect.topleft = init_pos
     self.speed = 2
     self.borld = Setting().windows
    def addSetting(self,
                   name,
                   optionType,
                   default,
                   callback,
                   sunrise=SHOWBASE_PREINIT,
                   options=None,
                   description=""):
        if (name and len(name) > 0) and (not name in self.registry.keys()):

            if not sunrise in [SHOWBASE_PREINIT, SHOWBASE_POSTINIT]:
                raise ValueError(
                    "Invalid sunrise type for Setting %s.".format(name))

            if not optionType in [
                    DATATYPE_INT, DATATYPE_STR, DATATYPE_TUPLE, DATATYPE_LIST,
                    DATATYPE_BOOL, DATATYPE_FLOAT
            ]:
                raise ValueError(
                    "Invalid option type for Setting %s.".format(name))

            setting = Setting(self, name, optionType, default, callback,
                              sunrise, options, description)

            self.registry.update({name: setting})
        else:
            raise ValueError("You must specify a Setting name!")
Ejemplo n.º 11
0
    def __init__(self):
        """Initialize the game, and create game resource."""
        pygame.init()

        self.settings = Setting()

        self.screen = pygame.display.set_mode(
            (self.settings.screen_width, self.settings.screen_height))
        #self.screen = pygame.display.set_mode((0,0),pygame.FULLSCREEN)
        #self.settings.screen_width = self.screen.get_rect().width
        #self.settings.screen_height = self.screen.get_rect().height

        pygame.display.set_caption("Alien_Invation")

        # Create instance to store game statistics.
        self.stats = GameStats(self)

        self.ship = Ship(self)
        self.bullets = pygame.sprite.Group()
        self.aliens = pygame.sprite.Group()

        self._create_fleet()
        # Make the play button.
        self.play_button = Button(self, "Play")
        # Set background color.
        self.bg_color = self.settings.bg_color
Ejemplo n.º 12
0
 def open_users_dict(self):
     try:
         with open(Setting().usrs_info_path, 'rb') as usr_file:
             self.users_dict = pk.load(usr_file)
             usr_file.close()
     except FileNotFoundError:
         print("【异常】出现严重错误,数据可能会坏。")
Ejemplo n.º 13
0
    def __init__(self):
        # 初始化pygame
        pygame.init()

        self.setting = Setting()
        self.offset = {pygame.K_LEFT: 0, pygame.K_RIGHT: 0, pygame.K_UP: 0, pygame.K_DOWN: 0}
        # 初始化游戏
        self.screen = pygame.display.set_mode(self.setting.windows)  # 初始化一个用于显示的窗口
        pygame.display.set_caption('This is my first pygame-program')  # 设置窗口标题
        self.background = pygame.image.load('image/background.jpg')
        self.feiji = pygame.image.load('image/fj.png')
        self.bullet = pygame.image.load('image/bullet.png')
        self.enemy_img = pygame.image.load('image/enemy.png')
        self.gameover_img = pygame.image.load('image/gameover.jpg')
        self.pass_img = pygame.image.load('image/pass.jpg')
        # 创建敌人组
        self.enemy_group = pygame.sprite.Group()
        # 创建击毁敌人组
        self.enemy_down_group = pygame.sprite.Group()
        # 飞机出事位置
        feiji_pos = [(self.setting.windows[0] - self.feiji.get_rect().width) / 2, self.setting.windows[1] - 100]
        # 飞机对象
        self.heros = Hero(self.feiji, feiji_pos)
        # 限制游戏帧数
        self.clock = pygame.time.Clock()
        # 重绘次数
        self.ticks = 0
        # 分数
        self.makes = 0
        # 最高分数
        self.makesMax = 99999
Ejemplo n.º 14
0
def run_game():

    set = Setting()
    catapult = Controller.create_catapult(set)
    generals = Controller.create_general(set)

    while True:
        Controller.update_window(catapult,generals,set)
Ejemplo n.º 15
0
def plot_configuration(config_name, policy_names):

    #set the regrets
    setting = Setting()
    regrets = setting.set_regrets()
    num_regrets = len(regrets)

    #load experiments
    loader = DataLoader()
    experiments = loader.load_config_experiments(config_name, policy_names)
    num_exp = len(list(experiments.values())[0])

    #retrieve configuration
    config = list(experiments.values())[0][0].config

    #retrive time horizon
    N = config.N

    #retrive policies
    policies = []
    for exp_list in experiments.values():
        policies = policies + [exp_list[0].policy]
    num_policies = len(policies)

    #compute the regrets
    regret = np.zeros((num_exp, num_policies, num_regrets, N))
    for pol_idx in range(num_policies):
        curr_policy = policies[pol_idx]
        for exp_idx in range(num_exp):
            curr_exp = experiments[curr_policy.name][exp_idx]
            pulls = curr_exp.pulls
            for reg_idx in range(num_regrets):
                curr_regr = regrets[reg_idx]
                regret[exp_idx, pol_idx,
                       reg_idx, :] = curr_regr.compute_regret(
                           pulls, curr_exp.config)

    mean_regret = np.mean(regret, axis=0)

    #varianza del regret
    std_regret = np.std(regret, axis=0)
    error = 2 * np.true_divide(std_regret, num_exp**0.5)

    #plot the regrets
    titles = []
    labels = []
    filename = config_name + '_'
    for policy in policies:
        filename = filename + policy.name + '-'
        labels = labels + [policy.name]
    filename = filename[:-1] + '_'
    for reg_type in regrets:
        titles = titles + [reg_type.description]
        filename = filename + reg_type.name + '-'

    plt = Plotter()
    plt.plot_regret(mean_regret, error, None, titles, labels, filename[:-1])
Ejemplo n.º 16
0
 def __init__(self):
     pygame.init()
     self.setting = Setting()
     self.screen = pygame.display.set_mode(
         (self.setting.WIDTH, self.setting.HIGH), 0, 32)
     self.food = Food(self)
     self.snake = Snake(self)
     self.message = Message(self)
     self.map = Map(self)
Ejemplo n.º 17
0
 def face_train_thread(self):
     img_Paths = [os.path.join(Setting().face_image_path, f)
                  for f in os.listdir(Setting().face_image_path)]
     faces = []
     ids = []
     for img_Path in img_Paths:
         img = cv2.imread(img_Path, cv2.IMREAD_GRAYSCALE)
         img_numpy = np.array(img, 'uint8')
         user_id = os.path.split(img_Path)[-1].split('.')[1]
         if user_id in self.usrs_dict.keys():
             user_id = int(user_id)
             faces.append(img_numpy)
             ids.append(user_id)
     before = time.time()
     self.face_recognizer.train(np.array(faces), np.array(ids))
     print('训练时间:' + str(time.time()-before))
     self.face_recognizer.write(Setting().train_result_path)
     print('写入时间:' + str(time.time()-before))
     print("\n【通知】训练完成。请继续在此进行您的输入:")
     return
Ejemplo n.º 18
0
 def show_user_image_by_name(self):
     while True:
         name = input("\n>请输入要查找的姓名,或输入b退出,或输入s查看用户表:")
         if name == 'b':
             break
         if name == 's':
             self.show_users()
             continue
         if not len(name) in range(2, 21):
             print("【错误】这不是一个合法(2~20字符)用户名。")
             continue
         if not name in self.users_dict.values():
             print("【错误】没有改用户名。")
             continue
         ids = []
         for key, value in self.users_dict.items():
             if value == name:
                 ids.append(key)
         img_paths = [os.path.join(Setting().face_image_path, f)
                      for f in os.listdir(Setting().face_image_path)]
         show_paths = {}
         for id_search in ids:
             for img_path in img_paths:
                 user_id = int(os.path.split(img_path)[-1].split('.')[1])
                 if user_id == int(id_search):
                     show_paths[user_id] = img_path
                     break
         size = len(show_paths)
         i = 1
         plt.figure()
         for key, value in show_paths.items():
             img = plt.imread(value)
             plt.subplot(1, size, i)
             i = i+1
             plt.title("id: " + str(key))
             plt.imshow(img, cmap='gray'),
             plt.axis('off')
         plt.show()
     self.press_enter_continue()
Ejemplo n.º 19
0
def run_game():
    #initialize game and create a dispaly object
    pygame.init()
    setting = Setting()
    globalvar.init(setting)
    pygame.display.set_caption("BB king")
    globalvar.set_player(character.start_game(1, globalvar.screen))

    # game loop
    while True:
        # supervise keyboard and mouse item
        # change stat of objects
        check_event()
        update_screen(setting)
Ejemplo n.º 20
0
def main():

    #set configuration
    N = 2**17
    num_repetitions = 5
    setting = Setting()
    configs = setting.set_configurations(N)

    # make an experiment for each configuration
    for config in configs:
        print('Experiment: ', config.name)
        start_time = time.clock()
        config.gen_stochastic_processes()
        run_experiment(config, setting, num_repetitions)
        exp_time = time.clock() - start_time
        print('TIME TO PERFORM EXPERIMENT ', config.name, 'CONFIGURATION: ',
              exp_time)
Ejemplo n.º 21
0
    def __init__(self, img, init_pos):
        pygame.sprite.Sprite.__init__(self)
        self.image = img
        self.borld = Setting().windows
        self.rect = self.image.get_rect()
        self.rect.topleft = init_pos
        self.init_pos = init_pos
        self.speed = 6
        self.is_hit = False
        self.life = 1
        self.lifeC = []

        # 子弹1的Group
        self.bullets1 = pygame.sprite.Group()
        self.bullets2 = pygame.sprite.Group()
        self.bullets3 = pygame.sprite.Group()
        self.lifeGroup = pygame.sprite.Group()
Ejemplo n.º 22
0
	def __init__(self):
		""" Initializes the Command Line Interface
		"""
		self.s = Setting()
		self.notifier = Notifier()
		self.printLicense()
		self.initScheduler()
		self.initTrayIcon()
		self.initSpec()
		self.initMotionScheduler()
		self.initKbThread()
		self.initRPC()
		self.initCamera()
		self.printFooter()
		try:
			while(True):
				time.sleep(100)
		except KeyboardInterrupt:
			self.shutDown()
Ejemplo n.º 23
0
 def __init__(self):
     pygame.init()  # pygame初期化
     pygame.display.set_mode((1200, 675), 0, 32)  # 画面設定
     self.screen = pygame.display.get_surface()
     pygame.display.set_caption('catch a star game')  # ウィンドウタイトル
     # 各ゲームモードのインスタンスの生成
     self.media = Media()
     self.menu = Menu(self.media)
     self.play = Play(self.media)
     self.setting = Setting(self.media)
     self.bye = Bye(self.media)
     self.ranking = Ranking(self.media)
     self.media.play_bgm(1)
     # 各モードへ分岐するための辞書型
     self.game_mode_list = {
         Mode.MENU: self.menu,
         Mode.PLAY: self.play,
         Mode.SETTING: self.setting,
         Mode.RANKING: self.ranking,
         Mode.BYE: self.bye
     }
    def __init__(self):
        settingWindow_form.__init__(self)
        QMainWindow.__init__(self)
        self.setupUi(self)
        self.setting_data = Setting()

        self.setting_okay_flag = 0

        # Events
        # grading setting events
        self.gs_beauty_hSlider.valueChanged.connect(self.update_gs_beauty)
        self.gs_report_hSlider.valueChanged.connect(self.update_gs_report)
        self.gs_test_1_spinBox.valueChanged.connect(self.update_test_1)
        self.gs_test_1_lineEdit.textChanged.connect(self.update_test_1)
        self.gs_test_2_spinBox.valueChanged.connect(self.update_test_2)
        self.gs_test_2_lineEdit.textChanged.connect(self.update_test_2)
        self.gs_file_names_lineEdit.textChanged.connect(self.update_file_names)
        self.gs_img_output_lineEdit.textChanged.connect(self.update_img_tests)
        # output setting events
        self.os_excel_checkBox.stateChanged.connect(self.update_excel_state)
        self.os_pdf_checkBox.stateChanged.connect(self.update_pdf_state)
        self.os_grade_checkBox.stateChanged.connect(self.update_output_type)
        self.os_mos_checkBox.stateChanged.connect(self.update_output_type)
        self.os_mos_grade_checkBox.stateChanged.connect(
            self.update_output_type)
        self.os_cheat_hSlider.valueChanged.connect(self.cheat_limit)
        self.os_pyDefault_radioButton.toggled.connect(self.PythonPython)
        # advance setting events
        self.adv_bulid_lineEdit.textChanged.connect(self.build_keyWord_update)
        self.adv_cppTest_lineEdit.textChanged.connect(
            self.cppTest_keyWord_update)
        self.adv_pyTest_lineEdit.textChanged.connect(
            self.pyTest_keyWord_update)
        self.adv_minus_lineEdit.textChanged.connect(self.minus_keyWord_update)

        self.ok_Button.clicked.connect(self.ok_button_callback)
        self.cancel_Button.clicked.connect(self.cancel_button_callback)
Ejemplo n.º 25
0
 def rename_photo(self, users_id, new_id):
     img_paths = [os.path.join(Setting().face_image_path, f)
                  for f in os.listdir(Setting().face_image_path)]
     i = 0
     for img_path in img_paths:
         user_id = os.path.split(img_path)[-1].split('.')[1]
         if user_id in users_id:
             i += 1
             os.rename(img_path, Setting().face_image_path +
                       "/temp." + str(i) + ".jpg")
     i = 0
     img_paths = [os.path.join(Setting().face_image_path, f)
                  for f in os.listdir(Setting().face_image_path)]
     for img_path in img_paths:
         flag = os.path.split(img_path)[-1].split('.')[0]
         if flag == 'temp':
             i += 1
             os.rename(img_path, (Setting().face_image_path +
                                  "/people." + new_id + '.' + str(i) + ".jpg"))
Ejemplo n.º 26
0
import sys
import pygame
from Setting import Setting
from bullet import Bullet
import time
from Setting import *
from alien import *
from Setting_button import *

ai_setings = Setting()
Shoot = pygame.USEREVENT + 1


def check_keydown_events(event, ai_setings, stats, screen, play_button,
                         setting_button, ship, aliens, bullet):
    if event.key == pygame.K_d:
        ship.moving_right = True
    elif event.key == pygame.K_a:
        ship.moving_left = True
    elif event.key == pygame.K_w:
        ship.moving_up = True
    elif event.key == pygame.K_s:
        ship.moving_down = True
    elif event.key == pygame.K_SPACE:
        pygame.time.set_timer(Shoot, ai_setings.reload)
        pygame.event.get(Shoot)
    elif event.key == pygame.K_p:
        ai_setings.initialize_dynamic_settings()
        stats.reset_stats()
        stats.game_active = True
        aliens.empty()
Ejemplo n.º 27
0
# webpack = Webpack()

# Flask初始化
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)

# def webpack():
#     print('webpack...')
#     os.system('webpack  --config ../webpack.config.js  --watch')
#
#
# t=threading.Thread(target=webpack)
# t.start()

setting = Setting()
option = Option(setting)
admin = Admin()

logger.info('准备启动系统1。。。')


@socketio.on('connect', namespace='/echo')
def test_connect():
    emit('my event', {'data': 'Connected', 'count': 0})
    print("recv socketio connect")


@socketio.on('my event', namespace='/echo')
def test_message(message):
    # emit('my event', {'data': message['data']})
Ejemplo n.º 28
0
 def load(self):
     self.setting = Setting(self.folder + "setting/setting.json")
     self.setting.load()
Ejemplo n.º 29
0
    testset_file = sys.argv[1]
    work_dir = sys.argv[2]
    config_path = sys.argv[3]
    caselog_dir = sys.argv[4]
    profile = sys.argv[5]
    testcase = sys.argv[6]

    if not os.path.exists(testset_file):
        logger.error(
            f'{testset_file} not found , please check input parameter')
        sys.exit(1)
    # endregion

    # region generate PTS test config
    testset = Setting(testset_file)
    bleonly = testset.bleonly()
    DutCom = testset.ComportSet()

    Config = testset.GenConfigs(profile, config_path)
    if Config == False:
        logger.error(f'{profile} config ics / ixit error')
        sys.exit(1)

    ics = Config[0]
    ixit = Config[1]
    # endregion

    pts = PtsFunction(profile, ics, ixit)

    os.chdir(work_dir)
Ejemplo n.º 30
0
 def delete_user(self):
     change = False
     while True:
         delete_id = input("\n>请输入要删除的编号,或输入b退出,或输入s查看用户表:")
         if delete_id == 'b':
             break
         if delete_id == 's':
             self.show_users()
             continue
         if (not delete_id.isdigit()) or len(str(int(delete_id))) > 6:
             print("【错误】请输入合法(小于等于6位数字)编号。")
             continue
         if not delete_id in self.users_dict.keys():
             print("【错误】无此编号")
             continue
         img_paths = [os.path.join(Setting().face_image_path, f)
                      for f in os.listdir(Setting().face_image_path)]
         delete_paths = []
         for img_path in img_paths:
             user_id = int(os.path.split(img_path)[-1].split('.')[1])
             if user_id == int(delete_id):
                 delete_paths.append(img_path)
         command = ''
         while True:
             command = input("\n>>按回车将图片移动到回收站,或输入d直接删除,或输入b返回:")
             if command == 'b':
                 break
             if command == 'd':
                 if input("\n>>>按回车确认,输入其他取消:") == '':
                     change = True
                     self.users_dict.pop(delete_id)
                     self.save_users_dict()
                     for img_path in delete_paths:
                         try:
                             os.remove(img_path)
                         except Exception:
                             print("【错误】出现异常")
                             break 
                     print("【通知】已成功删除")
                     break
                 else:
                     print("【通知】已取消删除")
                     continue
             else:
                 if input("\n>>>按回车确认放入回收站,输入其他取消:") == '':
                     change = True
                     self.users_dict.pop(delete_id)
                     self.save_users_dict()
                     for img_path in delete_paths:
                         dst = os.path.join(
                             Setting().recycle_path, os.path.split(img_path)[-1])
                         try:
                             shutil.move(img_path, dst)
                         except Exception:
                             print("【错误】出现异常")
                             break
                     print("【通知】已成功移入回收站")
                     break
                 else:
                     print("【通知】已取消移入回收站")
                     continue
     if change:
         print("【通知】数据发生变化,正在重新训练模型……")
         self.face_tools.face_train()
     self.press_enter_continue()