################################################## ########################################## #### FOT LaSOTデータセット ################################################### ######################################### インポートのOS インポートのNPとしてnumpyの 輸入JSONの インポートPDB LaSOT_path = " /ホーム/ wangxiao /ダウンロード/ pysot / testing_dataset / LaSOT / " video_files = os.listdir(LaSOT_path) video_files = np.sort(video_files) #の#は、JSONでのいくつかの配列またはその他の形式の問題を避けるために、このクラスを使用します。 クラスNumpyEncoder(json.JSONEncoder): "" " numpyのタイプのための特別なJSONエンコーダ""" デフデフォルト(自己、OBJ): もしでisinstance(OBJ、(np.int_、np.intc、np.intp、np.int8、 np.int16、np.int32、np.int64、np.uint8、np.uint16、np.uint32、np.uint64)): 返すint型(OBJ) のelif でisinstance(OBJ、(np.float_、np.float16、NP .float32、np.float64)): リターン・フロート(OBJ) のelifでisinstance(OBJ、(np.ndarray、)): ####これは修正され 、戻りobj.tolist() を返すjson.JSONEncoder.default(自己を、 OBJ) のdict ={} #範囲内IDX用(LEN(video_files)) のための IDX における範囲(5): #のテストのために#このコード仕事やありません。 VIDEO_NAME = video_files [IDX] img_path = LaSOT_path + VIDEO_NAME + ' / IMG / ' gt_path = LaSOT_path + VIDEO_NAME + ' /groundtruth.txt ' プリント(" == >>ビデオ名称:"、VIDEO_NAME、「現在のインデックス/全"idxが、" / "LEN(video_files)は、" しばらくお待ちください... ") img_files =([Pソートするための P で os.listdir(img_path)場合 os.path.splitext(P)[1] == ' .JPG ' )] #1 pdb.set_trace() gt_files = np.loadtxt(gt_path、デリミタ= ' ' ) init_rect = gt_files [0] init_rect_first = init_rect.tolist()#1 pdb.set_trace() img_names_list = [] gt_files_list = [] #各画像と接地真実のための### のための img_idx で 範囲(LEN(img_files)): img_names = VIDEO_NAME + ' / IMG / ' + img_files [img_idx] img_names_list.append(img_names) gt_files_list.append(gt_files [img_idx]) #pdb.set_trace() ####を収集して保存1つの辞書に。 dict_collect = { ' video_dir ':VIDEO_NAME、' init_rect ':init_rect_first、' img_names ':img_names_list、' gt_rect ' :gt_files_list} 辞書は[VIDEO_NAME] = dict_collectが ダンプ= json.dumps(dictの、CLS = NumpyEncoder) オープン(と' LaSOT_test.json '、' W + ' :Fなど) json.dump(ダンプ、f)を 印刷(" == >>完了!" ) ファイルを開い=(' LaSOT_test.json '、' R '、エンコード= ' UTF-8 ' ) benchmark_info = json.load(ファイル) プリント benchmark_info()