print('model file: {0}'.format(model_filepath), file=sys.stderr) print('', file=sys.stderr) # 学習済みのオートエンコーダをロード cnn = myDenoisingAE(WIDTH, HEIGHT, CHANNELS) cnn.load_state_dict(torch.load(model_filepath)) # 入力画像のカラーモードを設定 color_mode = 0 if CHANNELS == 1 else 1 # 入力画像にごま塩ノイズを付加して読み込む img = load_single_image(in_filepath, mode=color_mode, with_noise=True, n_noise_points=100) # 100点分のごま塩ノイズを付加 # 入力画像を表示 show_image(img, title='input image', mode=color_mode) # 入力画像をモデルに入力してノイズ除去 y = predict_once(device=dev, model=cnn, in_data=img) # ノイズ除去結果を表示 show_image(y, title='output image', mode=color_mode) # ノイズ除去結果をファイルに保存 y = np.asarray(y.transpose(1, 2, 0) * 255, dtype=np.uint8) cv2.imwrite(out_filepath, y) print('', file=sys.stderr)
# 画像のカラーモードを設定 color_mode = 0 if CHANNELS == 1 else 1 # 処理の実行 if mode == 'compression': ### 圧縮モード ### # 入力画像を読み込む img = load_single_image(in_filepath, mode=color_mode) # 入力画像を表示 show_image(img, title='input image', mode=color_mode) # 入力画像をモデルに入力して圧縮 y = predict_once(device=dev, model=cnn, in_data=img, module='encode') # 圧縮結果をファイルに保存 with open(out_filepath, 'w') as f: for i in range(len(y)): print(y[i], file=f) else: ### 復元モード ### # 特徴ベクトルファイルを読み込む with open(in_filepath, 'r') as f: reader = csv.reader(f) vec = [] for row in reader: