#実現したいこと
MNIST手書き数字データをheight 28pixel, width 28 pixelからheight 768 pixel, width 768pixelにしたい
*そもそも高解像度にしたい理由は、自前で用意した画像(height 768pixel, width 768pixel)を用いてCNNオートエンコーダを実施した際に、自作のCNN学習モデルでは学習精度が上がらなかったことを受け、MNISTで同じ解像度にしたデータを用いた場合に、自作の学習モデルがどれくらいの精度を出せるかを確認するため。
#疑問点
下記、「試したこと」のコードのようにopencvでresizeをしたが、(60000, 28, 28)→(768, 768, 28)となる。
(60000, 28, 28)は(画像数, height, width)で、28x28の画像が6万枚あるということだが、resizeでheightとwidthを共に768に指定しているにもかかわらず(768, 768, 28)になってしまい、height 768pixel, width 28pixelの画像が768枚あるという変換になってしまう理由が分からない。
正しくheight768pixel, width768pixelにする方法が知りたい。
#試したこと
python
1#必要ライブラリのインポート 2import numpy as np 3import cv2 4 5#MNISTのインポート 6from tensorflow.keras.datasets import mnist 7#MNIST データ読み込み 8(x_train, y_train), (x_test, y_test) = mnist.load_data() 9 10#形状確認 11print("x_train.shape:", x_train.shape) 12 #x_train.shape: (60000, 28, 28) 13 14#高解像度にする(つもり)28x28→768x768 15x_train = cv2.resize(x_train, (768, 768)) 16print("x_train.shape:", x_train.shape) 17#x_train.shape: (768, 768, 28) 18 19#1つだけ画像表示する 20import matplotlib.pyplot as plt 21%matplotlib inline 22for i in range(1): 23 plt.imshow(x_train[i], cmap="gray") 24 plt.show() 25#height 768, width28の画像が出力されてしまった
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/16 22:32
2021/10/17 03:16
2021/10/17 05:54
2021/10/17 09:21
2021/10/17 21:23